
scrapy框架学习
yuhui_2000
这个作者很懒,什么都没留下…
展开
-
下载中间件的学习
中间件爬虫中间件下载中间件(常见)我们可能会需要一些在下载中间件中对我们的请求和响应,做一些自定义的处理使用方法编写一个Downloader Middlewares和我们编写一个pipeline一样,定义一个类,然后在settings中开启# Enable or disable downloader middlewares# See https://docs.scrapy.org/en/latest/topics/downloader-middleware.html# 开启下载中间件DO原创 2020-10-24 16:05:33 · 390 阅读 · 1 评论 -
logging模块的使用2——在普通的py文件中
在同一个文件中定义并使用logger具体实现方式运行程序为什么是这个diao样子呢?看起来有点不好看。因为我们在logging.basicConfig()中设置的格式就是这个样子;而且我们是在pycharm中执行的这个程序,有颜色高亮,如果我们在终端中执行这个程序的话,就不会出现这样的情况了我们是可以修改在logging.basicConfig()中设置的格式的设置之后,再看一下效果:第一次尝试设置:第二次尝试设置:这个是没有正确与错误之分的,当然有好看不好看的差别。在当前文原创 2020-10-22 18:33:33 · 163 阅读 · 0 评论 -
logging模块的使用1——在scrapy框架中
简单设置log1.LOG_LEVEL=“WARN”为了让我们自己希望输出到终端的内容能够更容易看懂一些“我们可以在settings.py中设置log的级别在settings.py中添加一行(全部大写)LOG_LEVEL="WARN"这样的话,默认终端显示的就是比"WARN"等级要高的log信息添加之前终端的显示启动爬虫:scrapy crawl itcast2020-10-22 15:45:37 [scrapy.utils.log] INFO: Scrapy 2.4.0 start原创 2020-10-22 17:39:28 · 380 阅读 · 0 评论 -
pipeline的介绍
使用pipeline创建多个pipeline从pipeline的字典形式可以看出来,pipeline是可以创建多个的,事实上也确实如此,但是如果我们想要使用这些pipeline必须首先在settings中设置开启怎么开启pipeline呢?在settings.py文件中,找到ITEM_PIPELINES这个字典,然后取消注释就可以了默认情况下,ITEM_PIPELINES字典中只包含着一个pipeline,如果我们在pipeline中又定义几个pipeline,如果想要使用它们的话,需要在ITE原创 2020-10-22 12:19:43 · 6209 阅读 · 0 评论 -
scrapy的入门使用
安装pip install scrapy入门使用1.创建一个scrapy项目scrapy startproject 项目名scrapy startproject myspider2.生成一个爬虫scrapy genspider 爬虫名 允许爬取的范围允许爬取的范围:域名例如:https://fanyi.baidu.com/?aldtype=16047#en/zh/对于这个网站来说,允许爬取的范围就是 fanyi.baidu.com3.提取数据完善spider,使用xpath等原创 2020-10-21 17:02:17 · 344 阅读 · 0 评论 -
scrapy的工作流程
回顾前面的爬虫流程常规(蓝色窗口)最开始的时候必须要有url地址,然后发送请求获取响应,提取数据,保存数据偶尔(红色窗口)我们需要从响应中提取url地址,然后重新对它发送请求获取响应requests模块:重新对这个url地址发送请求获取响应selenium模块:点击一下某个按钮另一种形式的爬虫流程1.我们现在不再把url地址放在列表中,而是放在队列中2.发送请求获取响应3.对响应进行处理3.1提取数据,将数据放在数据队列中3.2提取url地址,将url地址放在url队列中原创 2020-10-21 12:21:14 · 581 阅读 · 0 评论 -
scrapy的介绍
scrapy框架学习的课程概要scrapy的基础概念scrapy的工作流程scrapy的入门使用scrapy的深入crawlspider的使用为什么要学习scarpy我们之所以学习scrapy不是因为它能够帮助我们解决剩下的10%的爬虫需求,而是因为它能够大幅度地提高我们的爬虫效率,让我们的爬虫变得更快更强。什么是scrapyscrapy是一个为了***爬取网站数据、提取结构性数据***而编写的应用***框架***,我们只需要实现少量的代码,就能够快速地抓取框架&模块模原创 2020-10-21 11:10:12 · 359 阅读 · 1 评论 -
携带cookie登录
scrapy模拟登录为什么需要模拟登录获取登录后的页面的信息获取cookie回顾:requests模块是如何模拟登录的?1.直接携带cookie请求页面headers={ "User-Agent": "", 'Cookie':''}response=requests.get(url,headers=headers)2.找接口发送post请求存储cookie# 将cookie字符串转化为一个字典形式response=requests.get(url,headers=原创 2020-10-15 23:38:11 · 1492 阅读 · 0 评论 -
crawlspider爬虫补充说明
注意点1.用命令创建一个crawlspider的模板scrapy genspider -t crawl 爬虫名字 允许爬取的范围2.crawlspider中不能够再有以parse为名字的数据提取方法,因为这个方法已经被crawlspider用来实现基础url提取等功能3.一个Rule对象接受多个参数,首先第一个是包含url规则的LinkExtractor对象常用的还有callback(指定满足规则的url的解析函数的字符串)和follow(response中提取的链接是否需要跟进)4.不指定c原创 2020-10-14 21:29:12 · 225 阅读 · 0 评论 -
crawlspider爬虫案例
scrapy中的crawlspider回头看:之前的代码中,为了实现翻页或者是爬取详情页操作,我们有会很大一部分时间放在了寻找下一页的url地址或者是内容的url地址上面,这个过程能再简单一点吗?思路从response中提取所有的a标签对应的url地址自动地构造自己的requests请求 ,发送给引擎思路优化我们可以对所有的url地址设置条件,只有满足条件的url地址,我们才发送给引擎,同时能够指定callback函数crawlspider作用自动地帮助我们提取url地址,之后呢,把原创 2020-10-14 20:31:18 · 594 阅读 · 1 评论 -
scrapy settings和管道的深入
scrapy深入认识settings.py文件为什么在我们的scrapy项目中需要有一个settings.py文件呢?配置文件存放一些公共的变量(比如数据库的地址、账号+密码等),方便自己和别人修改一般使用全大写字母命名变量名,例如LOG_LEVEL="WARN"settings.py文件重要代码的解读BOT_NAME = 'Sun' # 项目名SPIDER_MODULES = ['Sun.spiders'] # 爬虫的位置NEWSPIDER_MODULE = 'Sun.spider原创 2020-10-12 18:27:38 · 383 阅读 · 0 评论 -
scrapy shell的使用
scrapy深入之scrapy shell原创 2020-10-11 23:51:02 · 2392 阅读 · 0 评论 -
debug信息的认识
你好原创 2020-10-11 21:33:04 · 1064 阅读 · 1 评论 -
item的介绍与使用-2.0
重点:1.如何保存图片与视频sun.py2.如何对字符串进行处理,从而获得一个相对来说比较整洁的字符串pipelines.py3.如何处理详情页的数据sun.py4.如何翻页sun.py原创 2020-10-11 18:18:40 · 1536 阅读 · 1 评论 -
item的介绍与使用-1.0
scrapy深入之定义item我们可以在其中预先定义好我们需要爬取哪些字段所以,需要在items.py中这样设置定义好之后,我们后来在爬虫中使用的时候,就可以直接使用这个类,而不需要在爬虫中定义一个字典。注意:当我们定义好items.py之后,我们可以不全部使用items.py中定义的字段,但是使用的字段一定要是全部属于items.py中定义的字段比如说,我们定义了3个字段,title、location_name、money我们可以只爬取两个字段,例如title、location原创 2020-10-11 15:51:58 · 3689 阅读 · 0 评论 -
构造请求和无忧爬虫
如何实现翻页请求requests模块是如何实现翻页的?1.首先,获取当前页面的url地址2.人为地点击下一页的按钮,获取第2页和第3页的url地址3.通过比较这两个url地址的不同点,找出在翻页的时候,url地址的变化规律4.找出规律之后,将这个规律用于第1页和第4页的url地址上,直接在浏览器中输入我们认为的第1页和第4页的url地址,观察页面的变化情况实例:找出百度贴吧页面url地址的变化规律https://tieba.baidu.com/f?kw=oldba1&ie原创 2020-10-10 20:48:02 · 403 阅读 · 0 评论 -
属性
scrapy框架学习黑马程序员B站原创 2020-10-08 21:27:55 · 100 阅读 · 0 评论