第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

Scrapy 自定義settings--簡化編寫爬蟲操作--加快爬蟲速度

標簽:
Python

爬虫应该算是数据挖掘的第一步,也是分析数据的基础,更是得出结论的基石。爬虫大到一个团队在维护,小到毕业论文。Python应该算是大家非常喜欢的爬虫语言(理由不用多说都知道的);而scrapy框架应该算是爬虫模块、框架中的佼佼者,今天我们自定义settings.py文件。

https://img1.sycdn.imooc.com//5d590cc40001562203210200.png

scrapy项目结构

那么我们自定义的就是这个settings.py文件的部分设置,今天修改浏览器头。理由:

1、简单防止反爬虫(豆瓣....)

2、加快爬取速度

3、不用每次都是修改项目文件的settings.py

...........

对于settings.py文件下的很多含义参考官方文档:scrapy中文文档scrapy英文文档

这里解释几个参数:

ROBOTSTXT_OBEY = True-----------是否遵守robots.txt

CONCURRENT_REQUESTS = 16-----------开启线程数量,默认16

AUTOTHROTTLE_START_DELAY = 3-----------开始下载时限速并延迟时间

AUTOTHROTTLE_MAX_DELAY = 60-----------高并发请求时最大延迟时间

最底下的几个:是否启用在本地缓存,如果开启会优先读取本地缓存,从而加快爬取速度,视情况而定

HTTPCACHE_ENABLED = True

HTTPCACHE_EXPIRATION_SECS = 0

HTTPCACHE_DIR = 'httpcache'

HTTPCACHE_IGNORE_HTTP_CODES = []

HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'

以上几个可以视项目需要开启,但是有两个参数最好每次都开启,而每次都是项目文件手动开启不免有些麻烦,最好是项目创建后就自动开启

#DEFAULT_REQUEST_HEADERS = {

#   'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',

#   'Accept-Language': 'en',

这个是浏览器请求头,很多网站都会检查客户端的headers,比如豆瓣就是每一个请求都检查headers的user_agent,否则只会返回403,可以开启

#USER_AGENT = 'Chirco (+http://www.yourdomain.com)'

这个是至关重要的,大部分服务器在请求快了会首先检查User_Agent,而scrapy默认的浏览器头是scrapy1.1 我们需要开启并且修改成浏览器头,如:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1

但是最好是这个USER-AGENT会随机自动更换最好了。


首先我们可以收集几个浏览器头,比如:

https://img1.sycdn.imooc.com//5d590ccd00012d9d08960328.png

浏览器头列表

用随机函数random自动更换头,找到scrapy根目录下:X:\Python35\Lib\site-packages\scrapy\templates\project\module

https://img1.sycdn.imooc.com//5d590cd10001a97402870211.png

修改的就是这个settings.py.tmpl模板文件

每次执行scrapy startproject name 都会在这个基模版下创建settings.py文件

https://img1.sycdn.imooc.com//5d590cd700018dbd08970599.png

scrapy模板文件settings.py.tmpl

执行scrapy startproject name后看到settings.py生效了


https://img1.sycdn.imooc.com//5d590cda00013e5d09020491.png

修改模板后的settings.py文件

现在我们来检查一下我们刚刚的操作是否生效,这里简单创建一个scrapy


https://img1.sycdn.imooc.com//5d590cde00015c7f08590388.png

执行6次,每次打印request的头


https://img1.sycdn.imooc.com//5d590ce10001e9ac08930229.png

执行结果

执行结果发现每次的浏览器头都是不一样的



作者:爬虫小哥
链接:https://www.jianshu.com/p/63638e1b8c65


點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消