首页 > 编程知识 正文

python web开发框架,爬虫框架scrapy原理

时间:2023-05-03 16:15:01 阅读:175518 作者:2647

掌握目标掌握请求的结构和发送方式掌握Item的使用掌握元参数如何通过一个脚本实现翻页请求,如何提取下图中所有页面的数据?

回顾requests模块是如何实现翻页要求的:

找到下一页的URL地址并调用requests.get(URL )构想:

找到下一页的url地址并构筑url地址的请求,交给引擎1.1实现翻页请求的使用方法

获取url地址后,可以在scrapy.request(URL,callback )中获取request对象,然后使用yield关键字将该request对象传递给引擎

具体使用

用户-添加代理

此外,还可以在设置中设置用户代理。

user _ agent=' Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5)苹果WebKit/537.36 (khtml,like Gecko ) chrome/59.0.3071.115 safari/537.36 )腾讯招聘页面

地址: http://HR.Tencent.com/position.PHP

思想分析:

获取首页数据,查找下一页的地址,进行翻页,查找数据1.2 scrapy.Request的更多参数scrapy.request(URL[,callback,method='GET )

括号内的参数为可选参数callback :表示当前url的响应传递给哪个函数的元:实现数据在不同的解析函数中传递,元默认具有下载延迟、请求深度等部分数据的dont _ filter 这意味着,请求的url地址不会继续被请求,对于需要重复请求的url地址,可以请求的start_urls中的地址将被重复请求。 否则,程序不会启动双定义Item定义Item的原因

定义item后,系统会提前计划需要捕获的字段。 scrapy.Field ) )只是提前占用洞,就可以通过item.py让别人清楚自己的爬虫在抓取什么。 此外,还可以定义哪些字段需要捕获,未定义的字段不可用,从而避免手的错误

定义项目

使用项目

在使用Item之前,必须导入并实例化,之后的使用方法与词典的使用方法相同

from殷勤可乐. items import呆瓜酸奶item=呆瓜酸奶() #通过登录实例化阳光热线咨询政治平台学习使用item

目标:所有投诉帖子的编号、帖子的url、帖子标题和内容,URL:http://wz.sun0769.com/index.PHP/question/question type? type=4page=0

分析想法

列表页数据

确定列表页的url地址和程序结束条件

如果有下一页

如果下一页不存在

确定详细页面的数据

要将数据从列表页传递到详细页,请使用:元参数

包含图像时

不包含图像时

手抓https://www.guokr.com/ask/highlight /上的列表内容

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。