如何使用robobrows刮取“ariaalabel”

2024-04-26 05:29:46 发布

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

我是网络抓取新手,目前正在使用robobrowser来抓取网页。 我试图在某个类下获取“aria label”的值,但不知道如何操作。在

这是我的密码。在

from robobrowser import RoboBrowser
browser = RoboBrowser(history=True, parser='html.parser')
browser.open('https://www.scrapingwebsite.com')
links = browser.find_all(class_='searchResult__373c0__1yggB')
for link in links:
    print(link.find(class_='big_braket_class').text)
    problem_part = link.find(class_='subsidiary_class')
    print(problem_part.get('aria-label'))

它根本不起作用。有什么办法可以让它工作吗? 泰铢


Tags: 网络browserrobobrowserparserlinklinksfindlabel
1条回答
网友
1楼 · 发布于 2024-04-26 05:29:46

您可以将robobrowser中的内容转储到bs4中。然后在bs4 4.7.1中使用:has和:contains来定位所需的项。在

from bs4 import BeautifulSoup
#...your code
soup = browser.parsed
data = [(item.select_one('[class*=businessName]').text.replace('\xa0',''), item.select_one('[class*="i-stars"]')['aria-label']) for item in soup.select('li:has(h3:contains("All Results")) ~ li:has([class*=businessName])')]
print(data)

结果样本:

enter image description here

相关问题 更多 >