推广 热搜:     系统  行业  参数  中国  教师  机械  设备  基金 

python 网络爬虫全流程教学,从入门到实战(requests+bs4+存储文件)

   日期:2024-11-02     移动:http://mip.tpjde.com/quote/177.html

requests是一个Python第三方库,用于向URL地址发起请求
bs4 全名 BeautifulSoup4,是编写 python 爬虫常用库之一,主要用来解析 html 标签。

python 网络爬虫全流程教学,从入门到实战(requests+bs4+存储文件)

1.1 导入库文件(请求库、解析库

1.2 发起对指定网页的请求

1.3 解析为 bs4格式

如果一段HTML或XML文档格式不正确的话,那么在不同的解析器中返回的结果可能是不一样的。

解析器使用方法优势Python标准库BeautifulSoup(html, “html.parser”)1、Python的内置标准库 2、执行速度适中 3、文档容错能力强lxml HTMLBeautifulSoup(html, “lxml”)1、速度快 2、文档容错能力强lxml XMLBeautifulSoup(html, [“lxml”, “xml”]) BeautifulSoup(html, “xml”)1、速度快 2、唯一支持XML的解析器html5libBeautifulSoup(html, “html5lib”)1、最好的容错性 2、以浏览器的方式解析文档 3、生成HTML5格式的文档

1.4 解析获取的内容(获取想要的数据

1.5 存储爬取的数据

作用:获取,网页中的各个自己想要的标签,一般是从大标签到小标签的过程

操作案例百度

2.1 find()

查找符合条件的第一个标签,结果是标签对象

find( name , attrs/class_ , recursive , string , **kwargs )

soup.find(‘标签名’,属性名=“属性”/class_=“类名”,recursive=“是否只要子节点(默认False)”,string=“标签内容”)

参数可以任意组合或只填写一个

①根据标签名定位第一个指定的标签
②根据属性名定位满足条件的第一个标签
③根据标签和标签属性定位

2.2 find_all()

和函数用法一样,不同之处在于只返回满足条件的第一个标签对象,而返回所有满足条件的标签对象,是。有时需要两个配合使用。

①根据标签名定位所有指定的标签
②根据属性名定位所有满足条件的标签
③根据指定的标签和对应的属性名定位所有满足条件的标签

2.3 select()

函数也是定位所有满足条件的标签,返回值也是一个列表

①根据标签名定位
②根据标签名和属性定位
③定位对应的子标签

作用:获取标签中自己想要的内容,如:文字、图片链接、视频链接、音频链接等

注意:soup只是一个变量,就是你查询出来后新的获取范围

3.1 获取标签内的文本

3.2 获取标签属性

3.3 获取指定标签的属性值

3.4 遍历获取的标签的属性值

3.5 获取指定标签内所有的元素

3.6 获取标签的父标签

1、存储为:文本文档(txt)、表格(excel)、图片、音频、视频
2、写出媒体思路:①在网页上找到媒体链接;②保存媒体链接;③向媒体链接发起请求;④通过返回的请求内容下载媒体

3、注意:本章节只讲解写操作,写出什么文件写什么格式

4.1 with open() as f: 用法

权限作用r读 取 ,读取文件里的内容w写入,新的会覆盖旧的a写入,在末尾追加写入,不会覆盖旧的wb写入,以二进制的方式写入(图片、音频、视频

4.2 写入为文本文档(txt

4.3 循环写入到文本文档中(txt

4.4 存储图片

4.5 存储视频

写出音频也是如此

4.6 存储为excel

sheet.write(行,列,内容

注意:行和列都是从0开始的,保存的格式为:.xls

实战是需要自己去分析网页结构的,博主代码只是一种参考,还是要自己去分析。

5.1 百度热搜榜

获取标题、热度、简介、新闻链接、图片、文本保存为txt,并输出

5.2 爬取图片壁纸

5.3 豆瓣电影 Top 250

结果保存到excel中的

本文地址:http://www.tpjde.com/quote/177.html    推平第 http://www.tpjde.com/ , 查看更多

特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关行业动态
推荐行业动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2023001713号