![大数据采集与爬虫](https://wfqqreader-1252317822.image.myqcloud.com/cover/726/33643726/b_33643726.jpg)
上QQ阅读APP看书,第一时间看更新
2.6 任务实现
本任务将实现使用BeautifulSoup库、lxml库和requests库完成对百度标题的爬取和解析任务。
1)在Python文件中导入requests库和BeautifulSoup库。
![](https://epubservercos.yuewen.com/F5B70F/17977546101607006/epubprivate/OEBPS/Images/55_07.jpg?sign=1739515627-RTf6i6Z9oZnYztKR9w95jsibFLxK5wHb-0-3f705508e58600ad149caa0dd50824f1)
2)使用requests.get()方法获得指定页面数据。
![](https://epubservercos.yuewen.com/F5B70F/17977546101607006/epubprivate/OEBPS/Images/55_08.jpg?sign=1739515627-uVt7ZdofzbOUYxFgBpKdKbr47XE3ZIwQ-0-549efa33fd145633a96955272bfd1d52)
3)由于requests对象的默认编码方式不是utf-8,因此可能导致乱码,所以先设置requests.encoding='utf-8'。
![](https://epubservercos.yuewen.com/F5B70F/17977546101607006/epubprivate/OEBPS/Images/56_01.jpg?sign=1739515627-6x47Bi0lpQes3KH4n4bjRMGw4Y5hvHGu-0-5baba8c48ba8c7d69894456e90244eaf)
4)在BeautifulSoup中使用lxml作为解析器,解析request.text得到的页面数据。
![](https://epubservercos.yuewen.com/F5B70F/17977546101607006/epubprivate/OEBPS/Images/56_02.jpg?sign=1739515627-mDBqcjhQv0lSInp52YI1kIhknkfSp3Qj-0-2e29f646bddbb098e31b0b87e46daf3b)
5)输出指定的页面标签文本。这里介绍两种方式。
① 直接使用需要查找的标签名。
![](https://epubservercos.yuewen.com/F5B70F/17977546101607006/epubprivate/OEBPS/Images/56_03.jpg?sign=1739515627-bECGHHt5Qe91R5wDAPig375XLOBKTUyf-0-88e03cbd66938c23a1bc2ca89858d011)
② 使用select方法选择需要查找的标签路径。
![](https://epubservercos.yuewen.com/F5B70F/17977546101607006/epubprivate/OEBPS/Images/56_04.jpg?sign=1739515627-PW2t3IMTUda4PZuYWqjmzJYNdw7XGUJC-0-69acff5e0aa0c0c3e9927b3c98083e63)
标签路径可以通过浏览器的开发者工具获取。其具体获取方法是:打开指定页面后,按〈F12〉键,打开开发者工具,选择指定的页面元素并右击,在弹出的快捷菜单中选择“Copy”→ “Copy selector”命令,如图2-15所示。
![](https://epubservercos.yuewen.com/F5B70F/17977546101607006/epubprivate/OEBPS/Images/56_05.jpg?sign=1739515627-006yYUbtfeO6WCE2UnCL9RvjgvDUeHVe-0-ff364e6cd239ac8a2998050606c53750)
图2-15 获得页面元素标签路径
6)显示结果如图2-17所示。
![](https://epubservercos.yuewen.com/F5B70F/17977546101607006/epubprivate/OEBPS/Images/56_06.jpg?sign=1739515627-8S1VAwrhvgWwK8OSvWWkOf2YQIHrXQdL-0-e37d6601e921228ff59e8dfcb2fb8dea)
图2-17 标签查询结果显示
这样就使用requests库和BeautifulSoup库成功地抓取了百度页面中标签为<title>的文本内容。本任务的完整代码如下。
![](https://epubservercos.yuewen.com/F5B70F/17977546101607006/epubprivate/OEBPS/Images/57_01.jpg?sign=1739515627-QdnuAL1o7MXVJRnaxW0el1vlQjHdrzv9-0-431fe74927ffb7a819c8d96a16327727)