标签:div head 5.0 结果 分享 find 元素 and 爬虫
本次爬取小说的网站为136书屋。
先打开花千骨小说的目录页,是这样的。
我们的目的是找到每个目录对应的url,并且爬取其中地正文内容,然后放在本地文件中。
2.网页结构分析
首先,目录页左上角有几个可以提高你此次爬虫成功后成就感的字眼:暂不提供花千骨txt全集下载。
继续往下看,发现是最新章节板块,然后便是全书的所有目录。我们分析的对象便是全书所有目录。点开其中一个目录,我们便可以都看到正文内容。
按F12打开审查元素菜单。可以看到网页前端的内容都包含在这里。
我们的目的是要找到所有目录的对应链接地址,爬取每个地址中的文本内容。
有耐心的朋友可以在里面找到对应的章节目录内容。有一个简便方法是点击审查元素中左上角箭头标志的按钮,然后选中相应元素,对应的位置就会加深显示。
这样我们可以看到,每一章的链接地址都是有规则地存放在<li>中。而这些<li>又放在<div id=”book_detail” class=”box1″>中。
我不停地强调“我们的目的”是要告诉大家,思路很重要。爬虫不是约pao,蒙头就上不可取。
3.单章节爬虫
刚才已经分析过网页结构。我们可以直接在浏览器中打开对应章节的链接地址,然后将文本内容提取出来。
我们要爬取的内容全都包含在这个<div>里面。
代码整理如下
from urllib import request from bs4 import BeautifulSoup if __name__ == ‘__main__‘: # 第8章的网址 url = ‘http://www.136book.com/huaqiangu/ebxeew/‘ head = {} # 使用代理 head[‘User-Agent‘] = ‘Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19‘ req = request.Request(url, headers = head) response = request.urlopen(req) html = response.read() # 创建request对象 soup = BeautifulSoup(html, ‘lxml‘) # 找出div中的内容 soup_text = soup.find(‘div‘, id = ‘content‘) # 输出其中的文本 print(soup_text.text)
运行结果如下:
标签:div head 5.0 结果 分享 find 元素 and 爬虫
原文地址:http://www.cnblogs.com/yxhjss/p/7749615.html