Python Web Scraping - 无法抓取此站点吗?

时间:2021-06-27 21:15:42

标签: python web-scraping

我想抓取以下网站:>>> df brand style rating 3 Indomie pack 15.0 4 Indomie pack 5.0

我的目标是将新闻稿和文章存储在我以后使用的数据库中。我也在其他新闻网站上做过这件事,并删除了这里的代码以便于阅读(100% 不影响给你的代码)。我的问题是我不知道如何准确地抓取标题、链接和其他数据,因为 html 代码的结构具有不寻常的属性。

以下代码是我处理它的方式。也许有人知道我在抓取时犯了什么错误。非常感谢您的帮助。

https://www.globenewswire.com/NewsRoom

1 个答案:

答案 0 :(得分:0)

我从给定的 URL 中提取了 page=1 的所有标题。

<块引用>

标题出现在 <a> 中,属性 data-autid 等于 article-url

  • 使用 <a> 选择所有具有上述属性的 findAll()
  • 遍历上面所有选定的 <a> 并提取标题,即文本
  • 您可以扩展此方法并使用此方法提取您需要的任何数据。

此代码将打印给定 URL 中 page=1 的所有标题。

import requests
import bs4 as bs

url = 'https://www.globenewswire.com/NewsRoom'
resp = requests.get(url)
soup = bs.BeautifulSoup(resp.text, 'lxml')

headlines = soup.findAll('a', attrs={'data-autid': 'article-url'})

for i in headlines:
    print(i.text, end="\n")