簡體   English   中英

如何解決 Pyhton selenium webdriver 返回空白文件

[英]How to solve Pyhton selenium webdriver returning blank files

我目前正在系統地抓取在線零售商網站的數據。 我每周都這樣做一次已經 2 個月了,我的 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" )

怎么了?

您嘗試查找的元素類是動態生成的並且已經更改。

注意頁面不時更改,但結構更改比 styles 少。 因此,使用元素或 id 而不是類進行選擇始終是一個好策略。

怎么修?

調整選擇標准以獲得您的結果:

product_divs = soup.find_all('article')

暫無
暫無

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

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