前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >爬虫框架-crawler

爬虫框架-crawler

作者头像
wangmcn
发布2022-07-25 16:27:27
9090
发布2022-07-25 16:27:27
举报
文章被收录于专栏:AllTests软件测试

crawler

目录

  • 1、简介
  • 2、安装部署
  • 3、框架说明
  • 4、使用框架

1、简介

crawler采用requests+lxml的方式进行爬虫,爬取内容和url采用XPath方式一致(关于XPath可参考XPath参考手册章节)。

GitHub网址:https://github.com/shuizhubocai/crawler

requests是Python的一个优秀第三方库,适合于人类使用的HTTP库,封装了许多繁琐的HTTP功能,极大地简化了HTTP请求所需要的代码量。

lxml是Python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。

2、安装部署

在Windows环境(64位)下Python版本为3.6.5。

1、打开官方网址进行下载,下载完成为crawler-master.zip文件。

2、解压文件到指定目录(例如D:\crawler)。

3、安装目录下,命令行运行pip install -r requrements.txt安装框架所依赖的库文件。

requrements.txt文件内容:

certifi==2018.4.16

chardet==3.0.4

idna==2.7

requests==2.19.1

urllib3==1.23

4、安装lxml,版本号为4.2.5。

下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

下载指定版本,cp36代表Python 3.6的版本,win_amd64代表64位的系统,所以需要选择正确,否则安装过程会报错平台不匹配。

下载完成后开始安装lxml,在命令行中进入安装文件所在路径输入命令即可。

pip install lxml-4.2.5-cp36-cp36m-win_amd64.whl

3、框架说明

1、crawler.py文件:

Urls类:地址管理器

Download类:页面下载器

Parser类:页面解析器

Output类:导出数据到HTML

Scheduler类:爬虫调度器

2、modules\useragent目录下的chrome.py、firefox.py等为浏览器代理。

3、data.html将爬取的数据导入到此文件里。

4、使用框架

需求:访问51testing论坛,获取指定页数(1-10)的帖子标题和URL地址。

如图所示:要获取的帖子标题。

如图所示:获取1-10页。

1、修改脚本(crawler.py文件)。

(1)修改Parser类,getDatas方法的html.xpath值。

//tbody[contains(@id,'normalthread')]/tr/th/a[3]

如图所示:使用Firefox+FirePath进行调试定位。

(2)修改Parser类,getUrls方法的html.xpath值。

//span[@id='fd_page_bottom']/div//a[not(@class)]//@href

如图所示:使用Firefox+FirePath进行调试定位。

(3)实例化

添加访问地址:http://bbs.51testing.com/forum-279-1.html

2、执行脚本(crawler.py文件)。

安装目录下,命令行运行python crawler.py

3、查看爬取结果。

脚本执行完成后,在安装目录下会自动生成data.html文件。

打开data.html文件,显示爬取后的数据,点击标题会弹出新窗口跳转到指定地址。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AllTests软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档