| #建立 分析目录页,提取详情页的函数parse_catalogue(),这里需要给定参数url,
def parse_catalogue(url):
#调用requests库中的get命令,获取要爬取的目录页内容 req = requests.get(url=url, headers=HEADER)
#通过lxml库中etree.HTML将解析字符串格式的HTML文档对象,注意:使用req.content获取的是网页的bytes型也就是二进制的数据。 html = etree.HTML(req.content)
|
#在这里我们通过分析网页源代码,使用xpath命令进行定位,可以看出其中的href就是我们的要获得的网页地址(……的一部分)。如图2-2。
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
| href = html.xpath("//div[@id='content']/li/a/@href")
for x in href:
content_url = URL + x
#打印组合完成的新网址,这样在爬取的时候,我们就可以看到下载到了哪里。
print(content_url)
#将content_url得到的网址传入到parse_content函数,这里使用的parse_content函数是下面要建立的详情页解析函数。
parse_content(content_url)
#使用time函数,每次解析一个网页后停滞2秒。
time.sleep(2)
|
到这里,我们完成了爬虫功能的一半,实现了对所有详情页的网址的获取及将详情页网址导入详情页解析函数的操作。这样我们在启动爬虫的的时候,只需要调用一个函数(parse_catalogue)就能实现完整解析下载功能。
三、详情页解析,下载漫画
<font]进入到详情页中,我们首先来对详情页进行分析,这里该网站采用的是一个页面显示一张漫画的方法,想看下一页漫画,只能通过点击下一页或者点击可见到的数字来跳转到相关页面。如图3-1.。
图3-2 详情页跳转方式源码
[color=rgb(51,][Python] [color=rgb(51, 102, 153) !important]纯文本查看 [color=rgb(51, 102, 153) !important]复制代码
[backcolor=rgb(27, 36, 38) !important]
[Python] [color=rgb(51, 102, 153) !important]纯文本查看 [color=rgb(51, 102, 153) !important]复制代码
[backcolor=rgb(27, 36, 38) !important]
爬取结果如图3-4,图3-5。
|