使用 Beautifulsoup 我正在撰寫一個腳本,它將下載所有影像,但我當前的實作沒有回傳任何內容。
鏈接:https ://www.f1-fansite.com/f1-wallpaper/wallpaper-photos-monaco-f1-gp/
import requests
from bs4 import BeautifulSoup
r = requests.get('https://www.f1-fansite.com/f1-wallpaper/wallpaper-photos-monaco-f1-gp/')
soup = BeautifulSoup(r.content, 'lxml')
pictureslist = soup.find_all('div', attrs={'id':'gallery-1','class':'gallery galleryid-268780 gallery-columns-3 gallery-size-medium'})
print(pictureslist)
當我運行代碼時,它回傳一個空串列。我已經做了一個小時了,我不太確定我哪里出錯了?
uj5u.com熱心網友回復:
這是因為您的請求失敗,服務器顯示 503 http 錯誤代碼。許多網站會阻止機器人/腳本。
在您的請求中添加標頭,此特定網站將接受它。
import requests
from bs4 import BeautifulSoup
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36'}
r = requests.get('https://www.f1-fansite.com/f1-wallpaper/wallpaper-photos-monaco-f1-gp/', headers=headers)
soup = BeautifulSoup(r.content, 'lxml')
pictureslist = soup.find_all('div', attrs={'id': 'gallery-1',
'class': 'gallery galleryid-268780 gallery-columns-3 gallery-size-medium'})
print(pictureslist)
將來要解決請求問題的根本原因 - 一路向下。在您的 get 請求之后設定一個斷點,以確保它實際上正在回傳網站的資料(200 http 代碼)。不要只是假設它正在回傳您認為的內容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/490647.html
標籤:Python python-3.x 网页抓取 美丽的汤 蟒蛇请求
