1、禁止cookie(在setting中)
#cookies_enabled = false(修改之前)
cookies_enabled = false(修改之後)
download_delay =3(修改之後)
3、使用ip池(如果在爬蟲過程中你使用同乙個ip進行高頻率的訪問某個**,可能你的ip會被ban,不能進行爬取。這個時候就需要建立乙個ip池,在不同的ip之間來回切換,隨機的使用ip池中的ip)
①在setting中寫乙個ippool放入ip及其埠號
ippool=[,,
]
②在middlewares.py中寫如下程式
導包
import random
#初始化方法
def__init__
(self, ip=''):
self.ip = ip
#主要進行請求處理
defprocess_request
(self, request, spider):
#隨機選擇乙個ip
thisip = random.choice(ippool)
#輸出當前的ip
print('當前使用的ip是:'+thisip['ipaddr'])
request.meta["proxy"] = "http://"+thisip["ipaddr"]
③在setting中添做如下改動
**********_middlewares =
4、使用使用者**池
①建立乙個 useragent池
uapool=[
"******x",
"******x"
]
from picture.settings import uapool
from scrapy.contrib.**********middleware.useragent import useragentmiddleware
class
uamid
(useragentmiddleware):
def__init__
(self, ua = ''):
self.ua = ua
defprocess_request
(self, request, spider):
thisua = random.choice(uapool)
print('當前使用的請求頭是:'+thisua)
request.headers.setdefault("user-agent", thisua)
③修改setting
**********_middlewares =
5、進行分布式進行爬取
# 暫時還沒有研究
python中的Scrapy框架使用
scrapysheel scrapy終端是乙個互動終端,供您在未啟動spider的情況下嘗試及除錯您的爬取 其本意是用來測試提取資料的 不過您可以將其作為正常的python終端,在上面測試任何的python 該終端是用來測試xpath或css表示式,檢視他們的工作方式及從爬取的網頁中提取的資料。在編...
scrapy框架基本使用
進入工程目錄 建立爬蟲檔案 編寫爬蟲檔案 執行工程 allow domains 允許的網域名稱 parse self,response scrapy工程預設是遵守robots協議的,需要在配置檔案中進行操作。基於管道 3.將在爬蟲檔案中解析的資料儲存封裝到item物件中 4.將儲存了解析資料的ite...
Scrapy框架基礎使用
1 流程框架 2 在命令列中輸入scrapy,會有scrapy常見命令引數 在命令中輸入scrapy startproject quote建立乙個叫quote的專案 cd到建立好的專案目錄中,然後執行scrapy genspider quotes quotes.toscrape.com,建立spid...