爬虫抓取总是抓不全网页源码_爬虫-三种网页抓取的方式

首先是正则表达式 ,然后是流行的BeautifulSoup模块,最后是强大的lxml模块。

72ab295ca293468f860cf028e3f8cdfb.png
性能对比

1、正则表达式

详细操作在

空心人:正则表达式​zhuanlan.zhihu.com
e0b7c5ffe04d65df95c800f6198915ae.png

2、BeautifulSoup

安装命令:

pip install beautifulsoup4

使用 BeautifulSoup 的第一步是将己下载的 HTML 内容解析为 soup 文档 。由于大多数网页都不具备良好的 HTML 格式,因此 Beautiful Soup 需要对其实际格式进行确定。例如,在下面这个简单网页的列表中,存在属性值两侧引号缺失和标签未闭合的问题。

475bdbda48e5b7fbe63a775b64bf2584.png

如果Population列表项被解析为 Area 列表项的子元素,而不是并列的两个列表项的话,我们在抓取时就会得到错误的结果 。

from bs4 import BeautifulSoup
broken_html = "<ul class=country><li>Area</li><li>Population</ul>"
#解析html
soup = BeautifulSoup(broken_html, 'html.parser')
fixed_html = soup.prettify()
print(fixed_html)

得到的结果如下:

58b7f3ee6e0cef20b31d3f18fbf3850b.png

3、Lxml

3.1最新的Lxml安装教程

Installing lxml​lxml.de
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值