提取网页信息时用正则表达式还是比较繁琐,而且正则表达式太复杂时,有时还会出错,我们爬取的信息大多都是网页信息,网页HTML节点(标签)中定义了大量的id和class属性,而且节点之间还有层级关系。所以可以用解析库来解析信息。
三种解析库:
利用解析库解析豆瓣图书top250信息并将解析的信息保存到本地。
1. 分析豆瓣图书top250网址
https://book.douban.com/top250?start=0
当我们切换下一页时,只有start在改变,每页增加25,如第二页网址则为:
https://book.douban.com/top250?start=25
确定这个方便我们爬取后续的页数上的信息。
2. 分析网页源代码。
利用浏览器自带的抓包工具可以分析出每本图书的信息放置在<tr class=‘item’>…</tr>中,右键查看网页源代码分析每本图书具体的具体信息
3. 编写爬虫代码
爬虫部分主要分为三个部分:获取url并爬取网页内容、解析爬取回来的网页内容、保存解析出来的内容到本地。
-
获取url并爬取网页内容
- 首先设置一个主函数main负责调用这个爬虫程序。
def main(offset): """主程序函数,调用""" url = 'https://book.douban.com/top250?start=' + str(offset) # 获取url并爬取网页内容 html = getPage(url) if html: # 解析爬取网页的内容 for item in parsePage(html