【问题标题】:Website scraping with Python, how do I know where to reference in the html?用 Python 抓取网站,我怎么知道在 html 中引用的位置?
【发布时间】:2021-03-19 14:25:53
【问题描述】:

我是一个完全的初学者,只构建了基本的 Python 项目。现在我正在用 bs4 在 Python 中构建一个爬虫,以帮助我阅读网站上的成功案例。这些成功案例都在一个表格中,所以我想我会找到一个表示表格并包含整个表格的 html 标记。

但是,这只是

from bs4 import BeautifulSoup
from urllib.request import Request, urlopen
import requests
req = Request('https://www.calix.com/about-calix/success-stories.html', headers={'User-Agent': 'Mozilla/5.0'})
webpage = urlopen(req).read()
soup = BeautifulSoup(webpage, "lxml")
soup.find("div", {"id": "content-calix-en-site-prod-home-about-calix-success-stories-jcr-content"})
print('div')

我已经看过几个关于如何使用 bs4 的教程,并且我已经成功地抓取了基本网站,但我能做的就是获取所有的 html,而不是我需要的块(只是成功案例)。

【问题讨论】:

    标签: python html class beautifulsoup


    【解决方案1】:

    您正在打印'div',请确保打印汤,因为只要您在其中找到内容,汤就会更新。

    您应该查看bs4 文档。

    【讨论】:

      【解决方案2】:
      soup.find("div", {"id": "content-calix-en-site-prod-home-about-calix-success-stories-jcr-content"})
      

      您在这里调用soup.find(),但您没有将结果保存到变量中,因此结果丢失了。

      print('div')
      

      在这里,您正在打印文字字符串div。我不认为那是你的本意。

      试试这样的:

      div = soup.find("div", {"id": "..."})
      print(div)
      

      【讨论】:

      • 感谢您的帮助!我试过了,但这次它返回“无”。我刚刚抓取的内容与我的新请求之间是否存在脱节?就好像它根本没有读取 html。
      猜你喜欢
      • 2023-02-05
      • 1970-01-01
      • 1970-01-01
      • 2015-08-03
      • 2012-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多