web-scraping - 使用美汤时无法获取特定标签
问题描述
当我想获取问题的文本部分时,我想从堆栈溢出网站中提取信息:
import requests
from bs4 import BeautifulSoup
response=requests.get("https://stackoverflow.com/")
soup=BeautifulSoup(response.text,"html.parser",multi_valued_attributes=None)
for tag in soup.find_all('a',class_='question-hyperlink'):
print(tag)
这根本没有输出。我认为过滤类时存在一些问题,但我不确定它是什么。
这个工作正常:
import requests
from bs4 import BeautifulSoup
response=requests.get("https://stackoverflow.com/questions")
soup=BeautifulSoup(response.text,"html.parser")
question=soup.select(".question-summary")
for a in question:
print(a.select_one(".question-hyperlink").getText())
但是前一个有什么问题?
解决方案
您questions
在第一个代码片段的这一行的 url 中缺少:
response=requests.get("https://stackoverflow.com/")
这工作正常:
import requests
from bs4 import BeautifulSoup
response = requests.get("https://stackoverflow.com/questions")
soup = BeautifulSoup(response.text, "html.parser")
for tag in soup.find_all('a', class_='question-hyperlink'):
print(tag.getText(strip=True))
输出:
Pass a json object in function as a variable
iPhone Application Development in Windows 10 Platform
Jetty Websocket API Session
Exit from a multiprocessing Pool for loop using apply_async and terminate
bootstrap 5 grid layout col-md-6 not working correctly
R comparison (1) is possible only for atomic and list types
NeutralinoJS: error: missing required argument 'name'
Formatting text editor with Elementor
and so on ...
否则,就没有锚标签的此类。
推荐阅读
- yii2 - Yii2 Composer 更新失败:未定义属性:Fxp\Composer\AssetPlugin\Repository\AssetVcsRepository::$verbose
- jvm - 创建在 Window 上运行的 tomcat 服务的 JVM 堆转储
- python - 通过单击按钮验证 Python Tkinter 名称条目?
- c++ - 当模板参数要求 std::less 时,编译器如何在 std::set 中使用 T::operator<
? - django - Django密码表单分配小部件不起作用
- mongodb - mongodb:如何列出所有身份验证数据库中的所有用户
- c++ - 如何使用变体作为 unordered_map 中的键?
- python - 如何从嵌套字典创建文件夹?
- jenkins - 在 groovy jenkins 管道中跨多个 sh 调用持久化 shell
- c# - 如何在 web api 的复选框中包含信息?