首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何抓取这个页面?

我如何抓取这个页面?
EN

Stack Overflow用户
提问于 2020-11-17 15:54:10
回答 3查看 55关注 0票数 0

我正在抓取一个页面,但在尝试抓取WANTED-DATA时遇到错误

代码语言:javascript
复制
<td class="class-1" data-reactid="41"><a class="class-2" data-reactid="42" data-symbol="MORE-DATA" href="/quote/HKxlkPH4-x" title="WANTED-DATA">text</a></td>

我可以通过执行以下操作来提取text

代码语言:javascript
复制
getText.find('a', attrs={'class':'class-2'}).text
# output: 'text'

如何抓取'WANTED-DATA'

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-11-17 16:13:53

试试这个:

代码语言:javascript
复制
links = soup.findAll('a', attrs={'class':'class-2'}).text 
for link in links:     
    title = link.get('title')
票数 1
EN

Stack Overflow用户

发布于 2020-11-17 16:05:27

来自docs的。您可以编写tag[attr_name]来获取单个属性,而编写tag.attrs来获取包含所有属性和值的字典。

代码语言:javascript
复制
soup.find('a', attrs={'class':'class-2'})['title']
票数 1
EN

Stack Overflow用户

发布于 2020-11-17 22:31:39

你也可以这样做:

代码语言:javascript
复制
html = """<td class="class-1" data-reactid="41"><a class="class-2" data-reactid="42" data-symbol="MORE-DATA" href="/quote/HKxlkPH4-x" title="WANTED-DATA">text</a></td>"""
soup = BeautifulSoup(html)
## adding title=True below prevent any error in case you have links without the 'title attribute'
titles = [x.get('title') for x in soup.find_all('a',title=True)]
print(titles)

输出:

代码语言:javascript
复制
['WANTED-DATA']
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64871248

复制
相关文章

相似问题

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