scrapy中shell出現403解決方案

2021-09-11 04:46:23 字數 1713 閱讀 2989

出現403,表示**拒絕提供服務

因為有的**有反爬機制,當你使用scrapy shell的時候是以是scrapy爬蟲的標識進行訪問**的,這時候**會拒絕為爬蟲提供服務,這時候就會返回403錯誤

下面列舉三個方案來解決這個問題,三個方案的原理都是一樣的,即修改user-agent的值,使用瀏覽器的標識來對**進行訪問,這樣**就不會拒絕服務了

在使用scrapy shell的時候,在其後面加上-s user_agent='mozills/5.0』

scrapy shell  -s user_agent='mozills/5.0'
成功!!!修改scrapy專案裡的settings.py user_agent把settings.py裡的user_agent的屬性啟用並修改

修改前:

#user_agent = 'yi (+'
修改後:

user_agent = 'mozilla/5.0 (windows nt 5.1; rv:5.0) gecko/20100101 firefox/5.0'
再次使用scrapy shell:

(注意:這裡的scrapy shell只能在專案裡使用,直接在cmd中使用是不生效的,這也是為什麼說半治標的原因)

scrapy shell
我們看一下返回的資訊:

response   <200 >
返回200,成功!!!

修改整個python的default_settings.py檔案裡的預設user_agent值

之後在不管是在專案中還是在cmd中使用scrapy shell,都是以瀏覽器的識別符號來進行訪問的了

找一下default_settings.py檔案的位置

我的default_settings.py檔案在c:\programdata\anaconda3\lib\site-packages\scrapy\settings下

找到檔案位置後,開啟檔案,修改 user_agent的值

原user-agent的值:

user_agent = 'scrapy/%s (+' % import_module('scrapy').__version__
改為

user_agent = 'mozilla/5.0 (windows nt 5.1; rv:5.0) gecko/20100101 firefox/5.0'
再進行scrapy shell:

scrapy shell
看一下返回的資訊:

response   <200 >
返回200,成功!!!

安裝Scrapy出現的問題

scrapy 是乙個為了爬取 資料,提取結構性資料而編寫的應用框架。安裝twsited過程出現問題,2.7,3.5,pycharm等等安裝都不行。在試過眾多方法後,終於在乙個microsoft官方類似社群的發現了答案。安裝visualcppbuildtools full.exe 但是出現錯誤提示要求...

爬蟲基礎4 框架Scrapy

scrapy是乙個為了爬取 資料,提取結構性資料而編寫的應用框架。其可以應用在資料探勘,資訊處理或儲存歷史資料等一系列的程式中。其最初是為了頁面抓取 更確切來說,網路抓取 所設計的,也可以應用在獲取api所返回的資料 例如 amazon associates web services 或者通用的網路...

scrapy框架建立專案shell指令碼

建立scrapy專案shell指令碼 1.scrapy startproject 專案名 專案名如果不符合要求,scrapy本身會報異常,建立失敗,為了增加效率,提前正則驗證 2.cd 專案名 3.scrapy genspider 爬蟲名 網域名稱 或 規則爬蟲 scrapy genspider t...