当当网网站内容( 如何利用我们刚才的几个库去库去实战(上图))
优采云 发布时间: 2021-11-05 13:10当当网网站内容(
如何利用我们刚才的几个库去库去实战(上图))
图片来自 unsplash
我们学习了这三个库的用法:urllib、re、BeautifulSoup。但这只是停留在理论层面,需要实践来检验学习效果。因此,本文主要讲解如何使用我们刚刚掌握的几个库进行实战。
1 确定爬取目标
任何网站都可以被爬取,这取决于你是否想爬取它。这次选择的爬取目标是当当网。爬取的内容是以Python作为关键字搜索到的页面中所有书籍的信息。详情如下图所示:
点击查看大图
这个爬取结果中有三项:
2 爬取过程
众所周知,每个站点的页面DOM树是不同的。因此,我们需要先对抓取的页面进行分析,然后确定我们想要获取的内容,然后定义程序抓取内容的规则。
2.1 确定URL地址
我们可以通过浏览器来判断 URL 地址,并提供入口地址给 urllib 发起请求。接下来,我们将逐步确定请求地址。
搜索结果页面为1时,URL地址如下:
点击查看大图
搜索结果页面为3时,URL地址如下:
点击查看大图
当搜索结果页面为21,即最后一页时,URL地址如下:
点击查看大图
从上图中,我们发现URL地址的不同在于page_index的值,所以URL地址最终是。而page_index的值,我们可以通过循环依次添加在地址之后。所以urllib的请求代码可以这样写:
<p> # 爬取地址, 当当所有 Python 的书籍, 一共是 21 页
url = "http://search.dangdang.com/?key=python&act=input&show=big&page_index="
index = 1
while index