爬虫学习第一天-模仿01
来源:互联网 发布:淘宝商城珠宝 编辑:程序博客网 时间:2024/06/06 12:26
爬虫就是一个请求-解析-返回的过程,非常有意思。
跟着知乎大神一步步开始学习爬虫。https://zhuanlan.zhihu.com/p/29809609
从小说网站下载小说
URL:http://www.biqukan.com/
《一念永恒》小说的第一章http://www.biqukan.net/book/23326/9979822.html
首先,获取HTML的信息。
编程test2.py:
import requestsif __name__ == '__main__': target = 'http://www.biqukan.net/book/23326/9979822.html' req = requests.get(url=target) req.encoding='GB18030' print(req.text)
其中,
req.encoding='GB18030'是处理乱码。
可以和右击选择 '检查' 即可对照代码爬取是否正确(chrome)。
目标是提取正文,需要滤去一些冗余信息。第二步就是解析HTML的信息。选择 Beautiful Soup进行提取。
编程test3.py:
from bs4 import BeautifulSoupimport requestsif __name__ == "__main__": target = 'http://www.biqukan.net/book/23326/9979822.html' req = requests.get(url = target) req.encoding='GB18030' html = req.text bf = BeautifulSoup(html,"lxml") texts = bf.find_all('div', class_ = 'panel-body') print(texts)有结果:
接下来就是去除div标签名,br标签和一些空格。
编程test4.py,有:
from bs4 import BeautifulSoupimport requestsif __name__ == "__main__": target = 'http://www.biqukan.net/book/23326/9979822.html' req = requests.get(url = target) req.encoding='GB18030' html = req.text bf = BeautifulSoup(html,"lxml") texts = bf.find_all('div', class_ = 'panel-body') print(texts[0].text.replace('\xa0'*8,'\n\n'))运行后,有:
find_all匹配的返回的结果是一个列表。提取匹配结果后,使用text属性,提取文本内容,滤除br标签。随后使用replace方法,剔除空格,替换为回车进行分段。
在html中是用来表示空格的。replace('\xa0'*8,'\n\n')就是去掉下图的八个空格符号,并用回车代替。
target = 'http://www.biqukan.net/book/23326/9979822.html'该行中,若把9979822改为9979823,即得到小说第2章的内容,要对HTML信息进行观察分类。
然后是要匹配目录,观察到
正文内容全部在目录下。
因此编程test5.py,有:
from bs4 import BeautifulSoupimport requestsif __name__ == "__main__": target = 'http://www.biqukan.net/book/23326/' req = requests.get(url = target) req.encoding='GB18030' html = req.text div_bf = BeautifulSoup(html,"lxml") div = div_bf.find_all('dd', class_ = 'col-md-3') print(div)注意对应的
div = div_bf.find_all('dd', class_ = 'col-md-3')
运行后,有:
因为从第1088章开始,所以起初以为结果是有问题的。但是在Pycharm中又是可以的。
问过作者后,
在cmd中运行,
结果是可以的。
今天就学了这么多,接下来要继续跟着大神走完实例,好好学习。
阅读全文
0 0
- 爬虫学习第一天-模仿01
- 爬虫学习第一天
- python爬虫学习第一天
- verycd模仿第一天
- 第一天定向爬虫学习笔记
- 小白写爬虫之第一天
- 爬虫第一天:环境配置
- 爬虫第一天(1)
- 爬虫第一天(2)
- 爬虫第一天(3)
- C++学习第一天01
- 01-暑期学习第一天
- 01学习Linux第一天
- python爬虫学习第三十一天
- 自己动手写网络爬虫(第一天)
- 模仿慕课网前后端java视频搭建 第一天:环境搭建
- 开始学习swift啦。第一天-01
- 第一天01 JAVA JDK7(学习笔记)
- React 轮播图
- PAT——1066. 图像过滤(15)
- spark 集群搭建 详细步骤
- 我的程序员之旅
- Fibonacci数列
- 爬虫学习第一天-模仿01
- SVM——(三)对偶性和KKT条件(Lagrange duality and KKT condition)
- 轻装藏龙涧
- phpstorm快捷键(图解版)
- C++的单例模式与线程安全单例模式(懒汉/饿汉)
- 并查集详解+模板
- 最多拦截导弹数 NBUT
- - Five Dimensional Points(暴力)
- MVP+Retrofit网络请求和添加拦截器+Fresco+全选反选与删除