【问题标题】:Python Webscraping not return the right text, and sometimes no text at allPython Web Scraping 不返回正确的文本,有时根本没有文本
【发布时间】:2021-01-27 03:51:56
【问题描述】:

我正在尝试从这个亚马逊页面检索商品的价格,网址:

 https://www.amazon.com/FANMATS-University-Longhorns-Chrome-Emblem/dp/B00EPDLL6U/

源代码

from bs4 import BeautifulSoup
import requests

text = "https://www.amazon.com/FANMATS-University-Longhorns-Chrome-Emblem/dp/B00EPDLL6U/"\
page = requests.get(text)

data = page.text

soup = BeautifulSoup(data, 'lxml')

web_text = soup.find_all('div')

print(web_text)

每次我运行程序时,我都会得到一个与网页完全不同的 html 输出,内容如下:

“抱歉!我们这边出了点问题。请返回并重试...”

我不确定我做错了什么,任何帮助将不胜感激。我是 python 和 webscraping 的新手,所以如果我的问题非常明显,我很抱歉。谢谢! :)

【问题讨论】:

    标签: python web-scraping beautifulsoup python-requests lxml


    【解决方案1】:

    网站正在动态地提供请求无法处理的内容,请改用 selenium:

    from selenium import webdriver
    from bs4 import BeautifulSoup
    
    url = 'https://www.amazon.com/FANMATS-University-Longhorns-Chrome-Emblem/dp/B00EPDLL6U/'
    driver = webdriver.Chrome('C:\Program Files\ChromeDriver\chromedriver.exe')
    driver.get(url)
    time.sleep(3)
    
    html = driver.page_source
    soup = BeautifulSoup(html,'html.parser')
    print(soup.select_one('span#priceblock_ourprice').get_text())
    driver.close()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-22
      • 2017-02-06
      • 2018-04-25
      • 1970-01-01
      • 1970-01-01
      • 2013-04-29
      • 2014-11-29
      • 1970-01-01
      相关资源
      最近更新 更多