Python:执行谷歌搜索并仅从单个前 10 个结果中提取内容



我正在尝试编写一个脚本,该脚本对输入关键字执行Google搜索,并仅返回前10个URL中的内容。

注意:内容特指搜索的字词请求的内容,可在返回的网址正文中找到。

我已经完成了搜索和前 10 个 url 检索部分。这是脚本:

from google import search
top_10_links = search(keyword, tld='com.in', lang='en',stop=10)

但是,在不知道其结构的情况下,我无法仅从链接中检索内容。我可以通过使用开发工具查找标签的类等来从特定站点抓取内容。但是我无法弄清楚如何从前 10 个结果 URL 中获取内容,因为对于每个搜索的词都有不同的 URL(不同的站点有不同的 css 选择器(,并且很难找到所需内容的 css 类。下面是从特定站点提取内容的示例代码。

content_dict = {}
i = 1
for page in links:
print(i, ' @ link: ', page)
article_html = get_page(page)#get_page() returns page's html
soup = BeautifulSoup(article_html, 'lxml')
content = soup.find('div',{'class': 'entry-content'}).get_text()
content_dict[page] = content
i += 1

但是,不同站点的 css 类会发生变化。有没有办法让这个脚本工作并获得所需的内容?

如果不了解要抓取的内容的结构,就无法进行抓取。但是有一个包可以做类似的事情。看看报纸

最新更新