python - 如何使用 python webcrawler 获取 HTML 子类的文本?输出似乎是一个空数组
问题描述
我想从子类中抓取文本
带有 BeautifulSoup 的 HTML 标记,但输出是一个空数组。
我已经尝试只使用上层类(msg-content-cell)和子类(f1vbk p-msg-head-body),最后没有标签 p。
这是我的python程序:
class CrawledArticle():
def __init__(self, heading, message):
self.heading = heading
self.message = message
class ArticleFetcher():
def fetch(self):
url = "https://www.verkehrsinformation.de/?road=A8®ion=%25"
articles = []
time.sleep(1)
r = requests.get(url)
doc = BeautifulSoup(r.text, "html.parser")
for heading in doc.select(".td-msg-head-heading"):
heading = heading.select(".td-msg-head-heading")
for message in doc.select(".msg-content-cell"):
message = message.select(".msg-content-cell .f1vbk p-msg-head-body p")
crawled = CrawledArticle(heading, message)
articles.append(crawled)
return articles
这是我要在其中抓取文本“zwischen Beratzhausen (95) und Parsberg (94)”的 HTML 源代码的摘录
</div>
<div id="a3itHKyCfOGlFAIL" class="table-row newmsg">
<div class="msg-content-cell">
<div class="row bg-white cursor-pointer" onclick="window.location.href='/staumeldung/?token=a3itHKyCfOGlFAIL&sp=ro:%|re:2|pg:1'">
<div class="td-msg-head-heading">
<p class="f1vbk p-msg-head-heading">
A3 Passau Richtung Nürnberg:
</p>
</div>
<div class="td-msg-head-info">
</div>
</div>
<div class="row bg-white cursor-pointer" onclick="window.location.href='/staumeldung/?token=a3itHKyCfOGlFAIL&sp=ro:%|re:2|pg:1'">
<p class="f1vbk p-msg-head-body">
zwischen Beratzhausen (95) und Parsberg (94) Wanderbaustelle.
<!--<a class="extendlink l1vbku">Mehr</a>...//-->
</p>
<p class="p-msg-head-body pull-right f1vbk">
<a class="extendlink l1vbku">Kartenansicht</a> |
<a class="extendlink l1vbku">Alle Details</a>
</p>
</div>
</div>
我希望从子类“f1vbk p-msg-head-body”中抓取文本
HTML 标记,但输出是一个空数组。
与“td-msg-head-heading”类相比,区别在哪里?如何获取纯文本?
解决方案
也许你可以使用这样的东西:
doc.find("p", class_="f1vbk p-msg-head-body").string
推荐阅读
- python - 排行榜抛光 discord.py
- java - 试图在java中本地创建一个表达式eval函数
- mysql - 环境中的 Laravel Connectin 到 mysql 工作台
- node.js - 加密文件流和管道到 http 响应
- c++ - 我正在使用 c++ 中的插值搜索制作一个简单的程序。我想知道为什么它不会读取我在数组中输入的元素
- python - 如何使用假标题
- git - 如何在 Git 中将文件从 Master 分支移动到 Main 分支
- bios - 从不在 BIOS 中的操作系统启用 CPU 选项
- javascript - Redux 辅助函数来检查值是否在商店中
- c++ - 如何在按下并释放一次按钮时打开 LED,然后通过再次按下和释放将其关闭?