当前位置: 首页 > 知识库问答 >
问题:

用Python抓网站,我怎么知道在HTML中引用什么地方?

李宜然
2023-03-14

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

但是,它只是

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,而不是我需要的块(只是成功的故事)。

共有2个答案

羊舌光赫
2023-03-14
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)
吴凯泽
2023-03-14

您正在打印“div”请确保打印汤,因为当您发现汤中有内容时,汤就会更新。

您应该看看bs4文档。

 类似资料:
  • 问题内容: 我有一个主程序调用的函数: 但是在执行函数的中间会引发异常,因此它跳到了该部分。 我如何才能准确看到导致异常发生的原因? 问题答案: 其他答案都指出,您不应捕获通用异常,但是似乎没人愿意告诉您原因,这对于理解何时可以打破“规则”至关重要。这)是一个解释。基本上是这样,您不会隐藏: 发生错误的事实 发生的错误的详细信息(错误隐藏反模式) 因此,只要您不做任何事情,就可以捕获通用异常。例如

  • 问题内容: 在Django中,我怎么知道当前登录的用户? 问题答案: 你需要在哪里了解用户? 在视图中,用户在请求中以形式提供。 有关模板中的用户处理,请参见此处 如果要保存模型实例的创建者或编辑者,则可以执行以下操作: 模型 管理员 我在互联网上找到了,但现在不知道在哪里

  • 到目前为止,每当我按下空格时,我都会跳跃。我如何才能让它只在我站在某物上时跳跃?我会创建一些变量吗,比如站立和跳跃?如果我这样做了,如何在我的类播放器中引用它们?这是我的代码,感谢所有帮助。谢谢大家。

  • 问题内容: 我试图在网上找到答案,但是找不到特定于实现的答案。 我可以选择,并进行了大量的业务,我想知道我怎么可以在它们之间进行选择? 我已阅读文档的onComplete和的onSuccess,但我可以从火力地堡文档,看这一个,例如,对于(如一个具体操作的示例操作),他们有时用,有时他们使用。 我怎么知道每种情况下哪个更好?有关系吗?考虑到我想知道每个操作是否成功。 问题答案: 顾名思义,将在任务

  • 所以我遇到了这个问题,依赖项的AAR元数据(META-INF/com/android/build/gradle/AAR metadata.properties)中指定的minCompileSdk(31)大于该模块的compileSdkVersion(android-30)。 在这里回答:指定的minCompileSdk(31) 我的问题是:我怎么知道是哪个依赖关系导致了这个问题?用户laalto是

  • 问题内容: 我有一个访问前端和sql server后端。我想知道哪些用户当前正在使用该数据库。使用access或sql-server可以做到这一点吗? 问题答案: 在SQL Server中,您可以运行以下存储过程: 编辑: 如果要在任何给定时间查看谁在使用服务器,可以使用此查询。这将使您可以随意进一步过滤。