簡體   English   中英

使用python進行網頁抓取(Beautifulsoup)

[英]Web Scraping using python(Beautifulsoup)

我剛剛開始使用 python Beautifulsoup和 requests 庫以及使用 Pycharm 工具學習網絡抓取。

import requests
from bs4 import BeautifulSoup
    
result1 = requests.get("https://www.grainger.com/")
print('result1 is '+ str(result1.status_code))

當我使用這個網站時,它一直在加載,如果我使用google.com它會給出輸出。

我想知道為什么我沒有得到上述網站的輸出?

要從此站點獲取狀態200 ,請指定User-Agent HTTP 標頭:

import requests
from bs4 import BeautifulSoup

headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:81.0) Gecko/20100101 Firefox/81.0'}

result1 = requests.get("https://www.grainger.com/", headers=headers)

print('result1 is '+ str(result1.status_code))

印刷:

result1 is 200

之所以有效,是因為某些站點會忽略似乎不是來自 Web 瀏覽器的請求。 默認情況下, requests使用User-Agent python-requests ,因此該網站可以告訴您不是從 Web 瀏覽器請求該網站。 您的請求掛起並最終超時的原因可能是因為他們的服務器忽略了您的請求。

嗯……有幾件事。

  1. 該網站可能不存在
  2. 您使用的是 http 而不是 https
  3. 該站點阻止抓取(發送用戶代理標頭)
  4. 這可能是請求的問題。 嘗試使用不同的庫。

暫無
暫無

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

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