我目前正在系統地抓取在線零售商網站的資料。兩個月以來,我每周都這樣做一次,我的 Python 代碼運行良好,但是當我今天嘗試運行它時,它回傳了空白檔案而不是我通常的資料。我嘗試了多種方法來解決這個問題,但沒有設法解決它。我嘗試切換到 geckodriver 但結果相同。我還更新了我的 selenium、chromedriver、chrome ......但沒有運氣。有人建議解決這個問題嗎?(這是我的第一篇文章,所以希望我能清楚地顯示代碼)
from bs4 import BeautifulSoup
import re
import csv
from selenium import webdriver
import numpy
url = "https://www.zalando.be/sportsokken/_zwart/"
driver = webdriver.chrome(executable_path = "/Users/lisabyloos/Downloads/chromedriver")
pages = numpy.arange(1,3,1)
for page in pages:
driver.get(url "?p=" str(page))
html_content = driver.execute_script('return document.body.innerHTML')
soup = BeautifulSoup(html_content, "lxml")
product_divs = soup.find_all("div", attrs={"class": "_4qWUe8 w8MdNG cYylcv QylWsg SQGpu8 iOzucJ JT3_zV DvypSJ"})
results = []
for product in product_divs:
results.append(product.get_text(separator=";"))
import pandas as pd
df = pd.DataFrame([sub.split(";") for sub in results])
df.to_csv("myfile" str(page) ".csv" )
uj5u.com熱心網友回復:
怎么了?
您嘗試查找的元素類是動態生成的并且已更改。
注意 頁面會不時更改,但結構更改比樣式更改少見。因此,使用元素或 id 而不是類進行選擇始終是一個好策略。
怎么修?
調整選擇標準以獲得結果:
product_divs = soup.find_all('article')
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/383367.html
