【发布时间】:2015-12-23 07:19:35
【问题描述】:
在 python3 中使用 BeautifulSoup4 我想在 div 内的嵌套元素中抓取文本。但首先,我想提取也嵌套在 div 中的元素中的链接。
我将如何获取一个链接 LINK-I-WANT.COM 和一个图像 IMAGE-I-WANT.JPG 嵌套在这样的东西中:
<section class="LINK_CLASS">
<div class="LINK_CLASS2">
<div class="LINK_CLASS3">
<span class="#">random text</span>
<a href="LINK-I-WANT.COM">
<img src="IMAGE-I-WANT.JPG" class="IMG_CLASS"/>
</a>
</div>
</div>
</section>
所有被抓取的链接将被保存到一个列表中,脚本将遍历每个链接并找到很长的内容:
<div class=“CLASS_ONE”>
<div class=“CLASS_TWO”>
<ul>
<li><span>FOO</span>BAR</li>
<li><span>FOO2</span>BAR2</li>
<li><span>FOO3</span>BAR3</li>
<li><span>FOO4</span>BAR4</li>
</ul>
</div>
</div>
使用上面的示例,我将如何访问FOO# 和BAR#,以便当我遍历每个链接并找到每个页面的信息(FOO# 和 BAR#)时,我可以将其打印到为每个链接生成文本文件?
如果我没有任何意义,请原谅我。这是我对代码的尝试,我将不胜感激。
def spider(max_pages):
page = 1
subs = []
print("Getting links...")
while page <= max_pages:
url = "http://example.com"
source_code = requests.get(url)
plain_text = source_code.text
soup = BeautifulSoup(plain_text, "html.parser")
for link in soup.findAll("section",{"class":"LINK_CLASS"}):
这是我卡住的部分...如果<a> 标签有一个类,这会容易得多,不幸的是,<a> 标签只有一个href,所以我必须尝试访问它通过指向其他元素。我不知道如何在元素中查找元素,有人可以帮我吗?
【问题讨论】:
标签: python html web-scraping beautifulsoup web-crawler