首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用机器人浏览器抓取“aria-label”

如何用机器人浏览器抓取“aria-label”
EN

Stack Overflow用户
提问于 2019-06-06 04:49:15
回答 1查看 709关注 0票数 0

我是网络抓取的新手,目前正在使用机器人浏览器抓取网页。我试着在某个类下刮掉'aria-label‘的值,但不知道该怎么做。

这是我的代码。

代码语言:javascript
复制
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'))

它根本不起作用。有没有办法让它工作呢?Thx

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-06 06:01:27

您可以将机器人浏览器中的内容转储到bs4中。然后在bs4 4.7.1中使用:has和:contains来确定所需项的目标。

代码语言:javascript
复制
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)

结果示例:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56467811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档