网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序。
爬虫的基本流程:
发起请求:
通过HTTP库向目标站点发起请求,也就是发送一个Request,请求可以包含额外的header等信息,等待服务器响应
获取响应内容:
如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能是HTML,Json字符串,二进制数据(图片或者视频)等类型
解析内容:
得到的内容可能是HTML,可以用正则表达式,页面解析库进行解析,可能是Json,可以直接转换为Json对象解析,可能是二进制数据,可以做保存或者进一步的处理
保存数据:
保存形式多样,可以存为文本,也可以保存到数据库,或者保存特定格式的文件
准备安装以下三个库:
Urllib是python内置的标准库模块,使用它可以像访问本地文本文件一样读取网页的内容。Python的Urllib库模块包括以下四个模块:
urllib.request 请求模块
urllib.error 异常处理模块
urllib.parse url解析模块
urllib.robotparser解析模块
基本使用步骤:
(1)导入urllib.request模块
(2)连接要访问的网站,发起请求
(3)获取网站代码信息
(1)BeautifulSoup模块的基本元素
(2)标签树
在解析网页文档的过程中,需要应用BeautifulSoup模块对HTML内容进行遍历。
设有如下的一个HTML文档:
(3)BeautifulSoup模块对象“标签树”的上行遍历属性
(4)BeautifulSoup模块对象“标签树”的下行遍历属性
(5)BeautifulSoup模块对象的信息提取方法
爬取某网站的网络版小说《红楼梦》。打开《红楼梦》小说的目录页面会如图所示。
运用F12,找对应章节的位置
首先爬取对应章节的网址:
爬取每一章节的内容:
当然如此显示会很不好看,我们去试一下生成一本《红楼梦》.txt,默认存在我的D盘
感悟:效果很不错,以后看小说不愁没资源了,自行爬取txt导入手机免费看(也可以复制粘贴到word自动分行),当然之前还在52pj看过爬妹子图,乐趣无穷。
如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h60113.shtml