【发布时间】:2020-03-15 23:32:25
【问题描述】:
我正在使用 python 3,我想做的是分析 HTML 页面并从特定标签中提取一些信息。 此操作必须多次执行。要获取 HTML 页面,我正在使用 beautifulsoup 模块,我可以通过这种方式正确获取 html 代码:
import urllib.request as req
import bs4
url = 'http://myurl.com'
reqq = req.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
reddit_file = req.urlopen(reqq)
reddit_data = reddit_file.read().decode('utf-8')
soup = bs4.BeautifulSoup(reddit_data, 'lxml')
我的html结构如下:
<div class="first_div" id="12345">
<div class="second_div">
<div class="third_div">
<div class="fourth_div">
<div class="fifth_div">
<a id="dealImage" class="checked_div" href="http://www.myurl.com/">
我要提取的是href 值,所以http://www.myurl.com/
我尝试像这样使用 find() 函数,它可以工作:
div = soup.find("div", {"class" : "first_div"})
但如果我尝试直接找到第二个 div:
div = soup.find("div", {"class" : "second_div"})
返回空值
谢谢
编辑:
源html页面如下:
我必须从a-row dealContainer dealTile div 类中提取href 值
【问题讨论】:
-
find仅返回符合给定条件的此标记的第一个子项。 -
但
findAll提取与给定条件匹配的标记对象列表。您可以指定标签的名称以及您希望标签具有的任何属性。 -
您试图从该链接中提取的真实网址是什么?
标签: python html beautifulsoup tags