一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

如何讓你的scrapy爬蟲不再被ban之二(利用第三方平臺crawlera做scrapy爬蟲防屏蔽)

 昵稱47241897 2017-12-13

  我們在做scrapy爬蟲的時候,爬蟲經常被ban是常態(tài)。然而前面的文章如何讓你的scrapy爬蟲不再被ban,介紹了scrapy爬蟲防屏蔽的各種策略組合。前面采用的是禁用cookies、動態(tài)設置user agent、代理IP和VPN等一系列的措施組合來防止爬蟲被ban。除此以外官方文檔還介紹了采用Google cache和crawlera的方法。這里就著重介紹一下如何利用crawlera來達到爬蟲不被ban的效果。crawlera是一個利用代理IP地址池來做分布式下載的第三方平臺,除了scrapy可以用以外,普通的java、php、python等都可以通過curl的方式來調用。好了,下面入正題。

  說明:

  本文章是基于前面的一系列文章完成的,如果您錯過了??梢栽诖瞬榭矗?/p>

  安裝python爬蟲scrapy踩過的那些坑和編程外的思考

  scrapy爬蟲成長日記之創(chuàng)建工程-抽取數據-保存為json格式的數據

  scrapy爬蟲成長日記之將抓取內容寫入mysql數據庫

  如何讓你的scrapy爬蟲不再被ban

  crawlera官方網址:http:///crawlera/

  crawlera幫助文檔:http://doc./crawlera.html

  一、注冊crawlera賬號,獲取crawlera API KEY

  1、注冊一個crawlera賬號并激活

  https://dash./account/signup/

  

  填寫好用戶名,郵件和密碼點擊sign up即完成注冊,收到注冊確認郵件確認即可。

  2、創(chuàng)建一個Organizations

  

  3、創(chuàng)建完Organizations后添加crawlera user

    

  

  4、查看API key

  

  點擊crawlera user的名稱jack就可以查看API的詳細信息了(key

  

 

  至此,crawlera API的信息已經獲取到了。

  二、修改scrapy項目

  下面看看怎么添加到scrapy項目

  1、安裝scrapy-crawlera

pip install scrapy-crawlera

  2、修改settings.py

  DOWNLOADER_MIDDLEWARES下添加配置項

'scrapy_crawlera.CrawleraMiddleware': 600 

  其他配置項

CRAWLERA_ENABLED = True
CRAWLERA_USER = '<API key>'
CRAWLERA_PASS = '你crawlera賬號的密碼'

  注意:由于之前的項目用了自定義代理的方式,因此DOWNLOADER_MIDDLEWARES下的

#'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 110, #代理需要用到
#'cnblogs.middlewares.ProxyMiddleware': 100, #代理需要用到

  這兩個配置項要注釋掉。

  3、測試crawlera的抓取是否可用

scrapy crawl CnblogsSpider

  4、查看結果

  

  這里可以看到crawlera已經正常工作了。

  5、另外crawlera官網也可以查看抓取結果

  

  scrapy運用crawlera進行抓取就介紹到這里。另外crawlera還提供付費定制服務,如果經費充足也可以考慮付費定制scrapy的爬蟲。

  代碼更新至此:https://github.com/jackgitgz/CnblogsSpider提交到github的代碼將api和password去掉了,如果想運行需要添加自己的key和password

  三、題外話:

  如果你不是scrapy爬蟲,而僅僅是想python調用,crawlera也提供了python直接調用的方法

  1、通過request的方式

復制代碼
import requests

url = "http://twitter.com"
proxy = "paygo.crawlera.com:8010"
proxy_auth = "<API KEY>:"

proxies = {
    "http": "http://{0}@{1}/".format(proxy_auth, proxy)
}

headers = {
    "X-Crawlera-Use-HTTPS": 1
}

r = requests.get(url, proxies=proxies, headers=headers)

print("""
Requesting [{}]
through proxy [{}]

Response Time: {}
Response Code: {}
Response Headers:
{}

Response Body:
{}
""".format(url, proxy, r.elapsed.total_seconds(), r.status_code, r.headers, r.text))
復制代碼

  2、request代理重寫url

復制代碼
import requests
from requests.auth import HTTPProxyAuth

url = "https://twitter.com"
headers = {}
proxy_host = "paygo.crawlera.com"
proxy_auth = HTTPProxyAuth("<API KEY>", "")
proxies = {"http": "http://{}:8010/".format(proxy_host)}

if url.startswith("https:"):
    url = "http://" + url[8:]
    headers["X-Crawlera-Use-HTTPS"] = "1"

r = requests.get(url, headers=headers, proxies=proxies, auth=proxy_auth)

print("""
Requesting [{}]
through proxy [{}]

Response Time: {}
Response Code: {}
Response Headers:
{}

Response Body:
{}
""".format(url, proxy_host, r.elapsed.total_seconds(), r.status_code, 
           r.headers, r.text))
復制代碼

  crawlera就介紹到這里,更多關于crawlera的內容可以參考官方文檔:http://doc./index.html

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    欧美日韩亚洲国产精品| 少妇丰满a一区二区三区| 微拍一区二区三区福利| 日本人妻中出在线观看| 欧美国产日本高清在线| 少妇人妻一级片一区二区三区 | 中文字幕亚洲精品乱码加勒比| 老外那个很粗大做起来很爽| 午夜福利在线观看免费| 久久精品视频就在久久| 国产成人精品综合久久久看| 扒开腿狂躁女人爽出白浆av | 国产91色综合久久高清| 中文字幕一二区在线观看| 亚洲精品成人福利在线| 九九热精彩视频在线播放| 一区二区日本一区二区欧美| 日本不卡片一区二区三区| 亚洲综合精品天堂夜夜| 欧美区一区二区在线观看| 中文字幕禁断介一区二区 | 久久一区内射污污内射亚洲| 国产目拍亚洲精品区一区| 在线观看那种视频你懂的| 国产精品视频第一第二区| 经典欧美熟女激情综合网| 蜜桃av人妻精品一区二区三区 | 欧美二区视频在线观看| 日韩1区二区三区麻豆| 欧美区一区二在线播放| 日本福利写真在线观看| 好吊妞视频免费在线观看| 亚洲一区二区三区日韩91| av在线免费观看在线免费观看| 不卡在线播放一区二区三区| 尹人大香蕉一级片免费看| 婷婷激情四射在线观看视频| 亚洲熟女国产熟女二区三区| 欧美激情视频一区二区三区| 亚洲深夜精品福利一区| 精品亚洲av一区二区三区|