如何从更深层的htm中提取信息

2024-05-12 18:14:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用BeautifulSoup来搜集一些房地产数据,但很难找到我所需要的链接,这些链接都是深入的。你知道吗

http://www.mls.com/Search/New-York.mvc

为了使代码稳定,我从一个比我需要的目标高出两步的父级开始:

area_links = soup.findAll('ul', class_="sub-section-list", limit=2)

现在我有了一个ResultSet元素,但是除了错误之外,我什么都没有得到。你知道吗

我用area_links.findAllfindAllNext尝试了许多参数

我需要提取到不同地铁区域的链接,这样我就可以挖掘这些。你知道吗


Tags: 数据代码comhttpnewsearch链接www
1条回答
网友
1楼 · 发布于 2024-05-12 18:14:12

我更喜欢简明的css selectors以感兴趣的a标记为目标:

import requests
from bs4 import BeautifulSoup as bs

r = requests.get('http://www.mls.com/Search/New-York.mvc')
soup = bs(r.content, 'lxml')
links = ['http://www.mls.com' + i['href'] for i in soup.select('.sub-section-list a')]
print(links)

对于您的,您需要循环返回的列表并找到子a标记并提取href属性:

import requests
from bs4 import BeautifulSoup as bs

r = requests.get('http://www.mls.com/Search/New-York.mvc')
soup = bs(r.content, 'lxml')
area_links = soup.find_all('ul', class_="sub-section-list", limit=2)
for area in area_links:
    print(['http://www.mls.com' + i['href'] for i in area.find_all('a')])

相关问题 更多 >