极品少妇一区二区三区精品视频,国内精品免费午夜毛片,亚洲欧美电影一区二区,麻豆一区二区

Scrapy代理101:如何為Scrapy設置代理

盡管Scrapymake使您輕松開發(fā)可擴展的Web爬蟲和爬網程序,而無需使用代理,但在許多情況下它們沒有用。讓我向您展示如何為Scrapy設置代理以及最佳使用代理。

對Web抓取感興趣或開發(fā)人員,我需要您記住,即使Web抓取是合乎道德和法律的,網站也不希望其網頁和數(shù)據(jù)被抓取,他們將在其內部做任何事情處置來阻止你。不幸的是,由于IP地址是計算機網絡(例如Internet)中的通用標識手段,因此IP跟蹤是最重要的技術,因此只有少數(shù)有效的技術可供他們使用。盡管IP跟蹤對他們來說似乎有效,但作為網絡抓取工具和自動化開發(fā)人員,我們很幸運地擁有代理,可以幫助降低IP跟蹤和阻止的效率。

Scrapy是一個流行的Web抓取框架,可用于開發(fā)可伸縮的抓取器和搜尋器。作為Web抓取工具,Scrapy支持代理,因此您很可能會在抓取項目中使用代理。如果您不知道如何隨意設置代理,請繼續(xù)閱讀本文,我將在本文中向您展示如何完成。

Scrapy –概述

與Requests和BeautifulSoup之類的東西不同,Scrapy是一個完整的Web抓取和抓取框架,您不能僅使用它來發(fā)送HTTP請求;您還可以使用它來解析HTML文檔并執(zhí)行其他任務。實際上,僅Scrapy就像是Requests,BeautifulSoup和其他抓取庫的組合。關于此工具,您會喜歡的一件事是它的功能廣泛,并且可以選擇添加自定義功能。使用Scrapy,您不僅可以構建Web抓取工具或搜尋器,還可以輕松地將其部署到云中。

這個抓取框架是由Scrapinghub開發(fā)的,Scrapinghub是受歡迎的數(shù)據(jù)服務提供商,也對數(shù)據(jù)提取工具的開發(fā)感興趣。Scrapy于2008年首次發(fā)布。該工具是用Python編寫的,用于Python蜘蛛開發(fā)。它可以說是最快的Python框架-也是最受歡迎和功能強大的。與Scrapy相關的主要問題是它的學習曲線,以及面對JavaScript豐富的網站時無助的事實。
?Python Web爬網庫和框架
?如何使用Javascript從網站抓取HTML?

Scrapy代理設置

與Requests和BeautifulSoup的組合相比,Scrapy的學習曲線更為陡峭。但是,毫無疑問,它更具可伸縮性,更適合復雜的開發(fā)。在設置代理時,您可能會想知道該過程實際上非常簡單。您可以遵循兩種方法在Scrapy中設置代理,這些將在下面討論。
?方法1:通過將其作為請求參數(shù)傳遞來設置代理

在Scrapy中設置代理的最簡單方法是將代理作為參數(shù)傳遞。如果您要使用特定的代理,則此方法是完美的。Scrapy中有一個名為Http-Proxy-Middleware的中間件,該中間件從請求中獲取代理值并正確設置。以下是如何通過Requests參數(shù)在Scrapy中設置代理的示例代碼。
def start_requests(self):

for url in self.start_urls:

return Request(url=url, callback=self.parse,

headers={"User-Agent": "scrape web"},

meta={"proxy": "http:/154.112.82.262:8050"})
?方法2:創(chuàng)建自定義代理中間件

對于更模塊化的方法,我建議您創(chuàng)建一個自定義的中間件。我將向您展示如何創(chuàng)建自定義代理中間件并將其添加到您的中間件列表中。中間件基本上是Scrapy在處理請求時將運行的一段代碼。以下是您可以使用的自定義中間件模板。
from w3lib.http import basic_auth_header

class CustomProxyMiddleware(object):

def process_request(self, request, spider):

request.meta[“proxy”] = "http://192.168.1.1:8050"

request.headers[“Proxy-Authorization”] =

basic_auth_header(“<proxy_user>”, “<proxy_pass>”)

編寫完上面的內容之后,您可以啟用它并將其放在Http-Proxy-Middleware之前,如下所示。
DOWNLOADER_MIDDLEWARES = {

'myproject.middlewares.CustomProxyMiddleware': 350,

'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 400,

}

如何驗證Scrapy代理

如果您按照上述任何步驟操作并填寫了正確的代理數(shù)據(jù),則代表已從Scrapy端設置。但是他們在工作嗎?您將需要對其進行測試。為此,請將請求發(fā)送到任何代理查詢工具(例如Whatismyip.com) –如果它顯示您的真實IP地址,則說明設置或您要使用的代理有問題。

主站蜘蛛池模板: 麻江县| 绥化市| 元阳县| 五家渠市| 韶山市| 海兴县| 金乡县| 新蔡县| 闻喜县| 尼木县| 武宣县| 淮安市| 中山市| 寿阳县| 宜阳县| 定州市| 武邑县| 云霄县| 沾益县| 祁东县| 搜索| 福州市| 舞阳县| 平乐县| 桐梓县| 夹江县| 通辽市| 自贡市| 增城市| 洪泽县| 威远县| 靖江市| 谢通门县| 浦江县| 黔西县| 泾源县| 鄂托克前旗| 宜阳县| 蕉岭县| 梅州市| 虞城县|