我正在抓取一个html文件,每个页面上都有一个视频,在html中有视频id。我想打印出视频id
我知道如果我想打印一个div类的标题,我会这样做
with open('yeehaw.html') as html_file:
soup = BeautifulSoup(html_file, 'lxml')
article = soup.find('div', class_='article')
headline = article.h2.a.text
print headline
但是,在数据id='qe67234'中可以找到视频的id 我不知道如何访问这个'qe67234'和打印出来
请帮忙谢谢
假设数据id在div
BeautifulSoup.find将找到的html元素作为字典返回给您。因此,您可以使用标准方法来导航它,以访问文本(正如您在问题中所做的)以及html标记(如下面的代码所示)
请注意,通常情况下,视频元素需要JS来播放,如果使用非javascript客户机(即python
requests
)对其进行刮取,则可能无法找到必需的元素如果发生这种情况,您必须使用
phantomjs + selenium
browser之类的工具将网站与javascript结合起来,以执行抓取编辑 如果
data-id
标记本身不是常量,则应该查看lxml
库以替换BeautifulSoup
,并使用xpath
值来查找所需的元素假设data id的标记以div开头:
相关问题 更多 >
编程相关推荐