Python-S9-Day122-Python爬虫

news/2024/7/19 10:59:36 标签: 爬虫, python

11 初识爬虫

12 今日作业

11.1 初识黄页;

11.2 互联网就是一张大的蜘蛛网;

  网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫

11.3 自动爬取想要得到的文章;

11.4 资讯网站,抽屉新热榜,今日头条,易车网,爱卡网等数据来源,进行爬取,然后在自家网站呈现;

11.5 爬取汽车之家的首页的新闻文章、标题以及图片等内容; 

import requests
from bs4 import BeautifulSoup

# 汽车之家使用的是GBK编码:
response = requests.get("https://www.autohome.com.cn/news/")
# response  = requests.get("https://www.jd.com/")
response.encoding = "gbk"
# print(response.text)

# find方法找到与之相匹配的第一个标签;
soup = BeautifulSoup(response.text, "html.parser")
div = soup.find(name='div', attrs={'id': 'auto-channel-lazyload-article'})
# print(div)

li_list = div.find_all(name='li')
for li in li_list:
    # print("汽车之家的li标签!",li)
    title = li.find(name="h3")
    if not title:
        continue
    # print(title)
    p = li.find(name='p')
    a = li.find(name='a')
    print(title.text)
    url = "https:" + a.attrs.get('href')
    print("文章的URL地址:", url)
    # print('https:'+a.attrs.get('href'))
    print(p.text)
    img = li.find(name='img')
    src = "https:" + img.get('src')
    print("图片的URL地址:", src)
    # 再次发起请求,下载图片;
    file_name = src.rsplit('/', maxsplit=1)[1]
    ret = requests.get(src)
    with open(file_name, 'wb') as f:
        f.write(ret.content)

11.6 通过代码伪造请求,伪装浏览器,进行页面的爬取;

  • requests,伪造浏览器发起http请求;

  • bs4,将html格式的字符串解析成对象,对象.find/find_all方法的使用; 

12 今日作业

12.1 Flask程序实现爬虫采集以展示;

12.2 功能:

  • Flask目录结构;
  • SQLAchemy存储数据;

12.3 页面

  • 数据框:https://www.autohome.com.cn/news/

转载于:https://www.cnblogs.com/tqtl911/p/9614546.html


http://www.niftyadmin.cn/n/573552.html

相关文章

RK3399平台开发系列讲解(系统篇)1.6、安卓系统JNI的使用

平台内核版本SDKPX3Linux3.1Android7.1文章目录 目录: frameworks/base/services/core/jni/com_android_server_FMService.cpp 因为要调用hardware中的函数,因此需要添加头文件: #include <hardware/hw_tea5767.h> 注册JNI方法 int register_android_server_FMSer…

RK3399平台开发系列讲解(系统篇)1.7、添加一个framework系统调用给app

简述aidl的用途 平台内核版本SDKPX3Linux3.1Android7.1文章目录 简述`aidl`的用途aidl(Android interface definition language)用于进程间的通信。而aidl作用就是来弥补这个缺陷,实现方法在不同项目的共享。 增加Frameworks代码 首先我们需设计好暴露给APP端的API接口,这里…

021.13 IO流 RandomAccessFile对象

对象和方法&#xff1a;RandomAccessFile&#xff1a;文件操作对象&#xff0c;Java提供getFilePointer&#xff1a;获取文件指针特点&#xff1a;1、只能操作文件2、既能读&#xff0c;又能写3、里面维护了一个数组&#xff0c;内部定义了字符的读和写4、文件不存在则会创建&a…

记录一个try catch没有生效的原因,以便备忘

为了测试方便&#xff0c;直接建立的MFC对话框工程&#xff0c;直接选择Release编译。在代码中测试发现&#xff0c;添加了try catch之后&#xff0c;运行程序出现异常时仍然报错&#xff0c;而没有catch到&#xff0c;也没有进入catch的处理。 测试代码如下&#xff0c;在一个…

RK3399平台开发系列讲解(安卓篇)1.25、Android 进程内存回收机制

文章目录 前言一、procrank命令解释二、进程三、ADJ前言 Android启动时会把一些进程作为缓存加载到内存中,这些在缓存中的进程,通常不会影响系统整体运行速度,当用户使用该进程时因为不用重新加载缓存中的进程资源,会提高应用启动速度和切换速度,提升用户体验,这是Andro…

消除IE stop running this script弹出框

问题描述和分析: IE跳出了stop running this script的提示, 提示如下: Stop runningthis script? A script on thispage is causing your web browser to run slowly. If it continues to run, yourcomputer might become unresponsive. 当然有些提示可能如下: A scrip…

面向对象之反射、包装、(定制)

什么是反射&#xff1f; 反射的概念是由Smith在1982年首次提出的&#xff0c;主要是指程序可以访问、检测和修改它本身状态或行为的一种能力&#xff08;自省&#xff09;&#xff0c; 这一概念的提出很快引发了计算机科学领域关于应用反射的研究。它首次被程序语言的设计领域所…

RK3568平台开发系列讲解(设备树篇)设备树的解析

🚀返回专栏总目录 文章目录 一、设备树的查看二、设备树源文件分析三、设备树内容的解析函数3.1、查找节点(node)的of函数3.2、查找属性值(property)得of函数3.3、其他常用的OF函数沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将讲解设备树的解析。 一、…