
爬虫
文章平均质量分 50
没离开过_MW
这个作者很懒,什么都没留下…
展开
-
scrapy_反反爬之动态User-Agent、IP
Some websites implement certain measures to prevent bots from crawling them, with varying degrees of sophistication. Getting around those measures can be difficult and tricky, and may sometimes requir...原创 2018-09-26 10:40:28 · 669 阅读 · 0 评论 -
Scrapy 框架
Scrapy 框架 Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。 Scrapy 使用了 Twisted(其主要对手是Tornado)多线程异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步...原创 2018-09-19 19:26:18 · 186 阅读 · 0 评论 -
scrapy安装
安装 1、安装wheel pip install wheel2、安装lxml 3、安装pyopenssl 4、安装Twisted 5、安装pywin32 6、安装scrapypip install scrapyScrapy的安装介绍Scrapy框架官方网址:http://doc.scrapy.org/en/latestScrapy中文维护站点:htt...原创 2018-09-19 19:32:22 · 165 阅读 · 0 评论 -
scrapy入门案例
入门案例学习目标 创建一个Scrapy项目 定义提取的结构化数据(Item) 编写爬取网站的 Spider 并提取出结构化数据(Item) 编写 Item Pipelines 来存储提取到的Item(即结构化数据) 一. 新建项目(scrapy startproject)在开始爬取之前,必须创建一个新的Scrapy项目。进入自定义的项目目录中,运行下...原创 2018-09-19 19:42:56 · 354 阅读 · 0 评论 -
Scrapy 去重
Scrapy 去重RFPDupeFilter这个类 set()集合那么在 scrapy 中是如何来使用这个类的方法的呢?什么时候使用,这个流程是怎样的呢?这个可以追溯到 scrapy.core.scheduler 中定义的 Scheduler 类来决定。现在就来看看 Scheduler 类中和过滤重复 url 有关的内容。在 Scheduler 类中,在调度时,采用了 me...原创 2018-09-19 19:46:38 · 2891 阅读 · 0 评论 -
scrapy-如何在CrawlSpider进行模拟登陆
因为CrawlSpider和Spider一样,都要使用start_requests发起请求,用从Andrew_liu大神借鉴的代码说明如何模拟登陆:##替换原来的start_requests,callback为def start_requests(self): return [Request("http://www.zhihu.com/#signin", meta = {'coo...原创 2018-09-20 23:15:42 · 710 阅读 · 0 评论 -
scrapy-Item Pipeline
当Item在Spider中被收集之后,它将会被传递到Item Pipeline,这些Item Pipeline组件按定义的顺序处理Item。每个Item Pipeline都是实现了简单方法的Python类,比如决定此Item是丢弃而存储。以下是item pipeline的一些典型应用: 验证爬取的数据(检查item包含某些字段,比如说name字段) 查重(并丢弃) 将...原创 2018-09-20 23:21:37 · 166 阅读 · 0 评论 -
scrapy-spider类分析
Spider类定义了如何爬取某个(或某些)网站。包括了爬取的动作(例如:是否跟进链接)以及如何从网页的内容中提取结构化数据(爬取item)。 换句话说,Spider就是您定义爬取的动作及分析某个网页(或者是有些网页)的地方。class scrapy.Spider是最基本的类,所有编写的爬虫必须继承这个类。主要用到的函数及调用顺序为:__init__(): 初始化爬虫名字和start_u...原创 2018-09-20 23:25:16 · 283 阅读 · 0 评论 -
scrapy-案例:腾讯招聘网自动翻页采集
创建一个新的爬虫: scrapy genspider tencent "tencent.com" 编写items.py 获取职位名称、详细信息、class TencentItem(scrapy.Item): # define the fields for your item here like: jobTitle = scrapy.Field() j...原创 2018-09-20 23:30:01 · 463 阅读 · 0 评论 -
scrapy-parse()方法的工作机制
1. 因为使用的yield,而不是return。parse函数将会被当做一个生成器使用。scrapy会逐一获取parse方法中生成的结果,并判断该结果是一个什么样的类型;2. 如果是request则加入爬取队列,如果是item类型则使用pipeline处理,其他类型则返回错误信息。3. scrapy取到第一部分的request不会立马就去发送这个request,只是把这个request放到队列...原创 2018-09-20 23:30:39 · 767 阅读 · 0 评论 -
scrapy-CrawlSpiders
通过下面的命令可以快速创建 CrawlSpider模板 的代码:scrapy genspider -t crawl tencent tencent.com上一个案例中,我们通过正则表达式,制作了新的url作为Request请求参数,现在我们可以换个花样...class scrapy.spiders.CrawlSpider它是Spider的派生类,Spider类的设计原则是只爬取...原创 2018-09-20 23:41:18 · 246 阅读 · 0 评论 -
Scrapy进阶-防ban策略
1. download_delay因为我们要大批量爬取网页,为了防止过分密集影响到别人的服务器,建议在setting.py中设置DOWNLOAD_DELAY=2,最好是在晚上睡觉的时候跑,这样虽然速度慢了一点,但是被dan的几率会降低很多哦。2. 禁止cookiescookies,是指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密),有的时...转载 2018-09-21 11:45:12 · 251 阅读 · 0 评论 -
查看本机IP/代理IP
查看本机IP:浏览器地址栏请求:http://httpbin.org/get{ "args": {}, "headers": { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", "Accept-Encoding"...原创 2019-03-20 11:33:17 · 5074 阅读 · 1 评论