传送门:【python爬虫入门练习】正则表达式爬取猫眼电影TOP100排行榜,openpyxl保存本地excel文件
对于上文使用的正则表达式匹配网页内容,的确是有些许麻烦,替换出现任何的差错都会导致匹配不上的情况,本文将介绍一种更简便更流行的匹配方式:beautifulsoup
首先,安装beautifulsoup:pip install beautifulsoup4
其次,python是自带标准解析器的,但是更建议使用执行速度更快,文档容错能力强的lxml,安装:pip install lxml
导入方法:from bs4 import Beautifulsoup4
同样的我们先拿到网页源代码
在<dd></dd>中间,直接通过目标信息的标签来定位,相同的标签,通过加属性条件来区分:
from bs4 import BeautifulSoup
data = []
def page(text):
soup = BeautifulSoup(text, 'lxml')
for s in soup.find_all('dd'):
datalist = {
'排名': s.find('i').get_text(), '电影名称': s.find('p', class_="name").get_text(),
'主演': s.find('p', class_