簡體   English   中英

python刮返403

[英]python scraping return 403

我已經構建了一個 python 腳本,該腳本從 it.indeed.com 中抓取一些信息並檢索一些信息

過去幾周我一直在構建它,沒有問題

今天我回到它,沒有工作; 追溯到我測試請求響應的開始,我收到403 ,而它仍然可以從每個瀏覽器訪問而沒有問題

在許多其他網站上測試並獲得200除了確實.com 和確實.it

嘗試更改我的 IP 並仍然得到相同的結果。

我沒有看到任何禁止刮擦之類的東西。

我應該怎么辦? 這是他們的障礙還是我錯過了什么?

=========== 編輯 ======

添加一些上下文:用更新的用戶代理更改了用戶代理,並且似乎在主頁上工作

agent = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36 Vivaldi/5.3.2679.70.'}
x = requests.get("http://www.indeed.com", headers=agent)

print(x.status_code)
>>> 200

返回 200 但只要我對我的代碼使用的 url 執行相同操作,它仍然給我 403

r = requests.get("https://www.indeed.com/jobs?q=it+support&l=miami&start=0&pp=gQAeAAAAAAAAAAAAAAAB4OOm7wAvAQEBCAHr6EsjGDwNhFuHbHnTkwsODfPz7YMYVlIdi-kkk8O0rJkYvGplLcCOkW4AAA", headers=agent)

print(r.status_code)
>>> 403

我不知道該怎么做

如您所見,我得到了兩個請求的狀態代碼 200

在 shell 中試一試

代碼:

>>> import requests
>>> agent = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36 Vivaldi/5.3.2679.70.'}
>>> x = requests.get("http://www.indeed.com", headers=agent)
>>> print(x.status_code)
200
>>> r = requests.get("https://www.indeed.com/jobs?q=it+support&l=miami&start=0&pp=gQAeAAAAAAAAAAAAAAAB4OOm7wAvAQEBCAHr6EsjGDwNhFuHbHnTkwsODfPz7YMYVlIdi-kkk8O0rJkYvGplLcCOkW4AAA", headers=agent)
>>> print(r.status_code)
200
>>> 

拿兩個

代碼:

它只是工作正常你嘗試多少次我認為他們阻止了你的 ip 來自多個請求

python                                                                                                                                                                
Python 3.10.5                                                                                           
>>> import requests                                                                                                                                                       
>>> agent = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36 Vivaldi/5.3.2679.70.'}            
>>> x = requests.get("http://www.indeed.com", headers=agent)                                                                                                              
>>> print(x.status_code)                                                                                                                                                  
200                                                                                                                                                                       
>>> r = requests.get("https://www.indeed.com/jobs?q=it+support&l=miami&start=0&pp=gQAeAAAAAAAAAAAAAAAB4OOm7wAvAQEBCAHr6EsjGDwNhFuHbHnTkwsODfPz7YMYVlIdi-kkk8O0rJkYvGplLcCOkW4AAA", headers=agent)                                                                                                                                                   
>>> print(r.status_code)                                                                                                                                                  
200                                                                                                                                                                       
>>> print(r.status_code)                                                                                                                                                  
200                                                                                                                                                                       
>>> print(r.status_code)                                                                                                                                                  
200
>>> import requests
>>> agent = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36 Vivaldi/5.3.2679.70.'}
>>> x = requests.get("http://www.indeed.com", headers=agent)
>>> print(x.status_code)
200
>>> r = requests.get("https://www.indeed.com/jobs?q=it+support&l=miami&start=0&pp=gQAeAAAAAAAAAAAAAAAB4OOm7wAvAQEBCAHr6EsjGDwNhFuHbHnTkwsODfPz7YMYVlIdi-kkk8O0rJkYvGplLcCOkW4AAA", headers=agent)
>>> print(r.status_code)
200
>>> import requests
>>> agent = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36 Vivaldi/5.3.2679.70.'}
>>> x = requests.get("http://www.indeed.com", headers=agent)
>>> print(x.status_code)
200
>>> r = requests.get("https://www.indeed.com/jobs?q=it+support&l=miami&start=0&pp=gQAeAAAAAAAAAAAAAAAB4OOm7wAvAQEBCAHr6EsjGDwNhFuHbHnTkwsODfPz7YMYVlIdi-kkk8O0rJkYvGplLcCOkW4AAA", headers=agent)
>>> print(r.status_code)
200
>>> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM