爬网/刮取包含特定文本的网站/网页,之前没有任何此类网站/网页的信息

2024-05-16 02:41:04 发布

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

我用了坚果和刮痧。他们需要种子URL来爬网。这意味着,人们应该已经知道将包含正在搜索的文本的网站/网页

我的情况不同,我没有关于包含我正在搜索的文本的网站/网页的先前信息。因此,我将无法使用种子URL来通过nutch和scrapy等工具进行爬网

有没有一种方法可以在不知道任何可能包含该文本的网站/网页的情况下,对给定文本的网站/网页进行爬网


Tags: 工具方法文本信息url网页网站情况
3条回答

您可以使用Google搜索API(https://developers.google.com/custom-search/json-api/v1/overview?csw=1)每天进行100次免费查询。搜索结果将是JSON格式,您可以使用它将链接提供给您的scraper

您可以解析the commoncrawl dataset。它包含数十亿个网页。他们的站点包含了如何使用MapReduce的示例。 除此之外,任何网络爬虫都需要有一些起点

您可以使用请求模块来获取数据

在下面的例子中,我从所有有“比萨饼”字样的网站上获取数据

import requests
url = 'http://www.google.com/search'
my_headers = { 'User-agent' : 'Mozilla/11.0' }
payload = { 'q' : 'pizza', 'start' : '0' }
r = requests.get( url, params = payload, headers = my_headers )

您可以使用BeautifulSoup库从检索到的数据(HTML数据)中提取任何类型的信息

from bs4 import BeautifulSoup
soup = BeautifulSoup( r.text, 'html.parser' )

现在,如果需要文本数据,可以使用此函数

soup.getText()

相关问题 更多 >