抓取**資訊
用別人的**稍微改了一下class
youdailispider
(crawlspider):
name = 'youdaili'
allowed_domains = ['youdaili.net']
start_urls = ['']
rules = (
rule(linkextractor(allow=r'/\d+(_)*\d*\.html'), callback='parse_item', follow=true),
)def
parse_item
(self, response):
"-"*100
items =
for data in response.xpath("//div[@class='cont_font']/p/text()"):
item = proxyinfoitem()
data = data.extract().replace('\r\n','')
item['location'] = data.split('#')[1]
data = data.split('#')[0]
item['proxy_type'] = data.split('@')[1]
data = data.split('@')[0]
item['port'] = data.split(':')[1]
item['ip'] = data.split(':')[0]
return items
pass
agent = random.choice(agents)遇到的問題
按照我的理解,在配置中起用中介軟體後,每一次請求customhttpproxymiddleware的process_request都應該被呼叫,但是打log,發現沒有被調到。
可能的原因:
版本問題,如果想為每個request設定**,需要重寫的函式不是process_request,而是其他。參照scrapy0.2.4.6的幫助文件,沒有找到process_request這個函式。
但是由於貌似還沒有被ban掉。所以暫時不考慮proxy。這個proxy只是當備用。
Scrapy學習筆記
於網路 上圖就是整個scrapy的架構圖了,主要包括部分作用如下 scrapy執行流程 scrapy engine從spiders獲取初始的url,並將這些request交給scheduler進行排列。scrapy engine從scheduler獲取處理好的request。scrapy engin...
scrapy 爬蟲學習筆記
1.安裝scrapy pip install i 源 scrapy 2.手動建立scarpy專案 scrapy startproject 專案名稱 3.scrapy genspider jobbole blog.jobbole.com 使用自帶模板 4.除錯 修改setting檔案中obey rob...
scrapy學習筆記 初識
生成乙個scrapy目錄 1 scrapy startproject 目錄名 在當前目錄建立scrapy專案 2 cd 目錄名 移動到建立的目錄下 3 scrapy genspider demo 網域名稱 生成乙個demo.py檔案,產生spiders爬蟲 4 scrapy crawl demo 執...