我有一个巨大的 URL 列表。它看起来像这样:
www.example.com/api/users/1.json
www.example.com/api/users/2.json
www.example.com/api/users/3.json
并继续约 400,000 次。目的是在所有页面中查找特定的文本字符串。有人知道我该怎么做吗?
答案1
我没有参加过这个项目,但是通过谷歌搜索我确实找到了一个叫刮擦。它是用 Python 编写的,并在多个地方进行了讨论,例如:
- 在 StackOverflow 上 -https://stackoverflow.com/questions/35986899/best-performance-for-scrapy,建议您将 Scrapy 作为守护进程运行,
scrapyd
。 - 使用 Python Scrapy 开发你的第一个网络爬虫
- Scrapy 示例 -引言机器人
上面的第二个链接也显示了这个例子:
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
class ElectronicsSpider(CrawlSpider):
name = "electronics"
allowed_domains = ["www.olx.com.pk"]
start_urls = [
'https://www.olx.com.pk/computers-accessories/',
'https://www.olx.com.pk/tv-video-audio/',
'https://www.olx.com.pk/games-entertainment/'
]
rules = (
Rule(LinkExtractor(allow=(), restrict_css=('.pageNextPrev',)),
callback="parse_item",
follow=True),)
def parse_item(self, response):
print('Processing..' + response.url)
您可以修改上述内容以包含所有 URL 或将它们放入单独的文件中,然后通过 Python 读取该文件。
如果我是你,我会倾向于从第三个链接 quotesbot 开始,因为这个项目听起来与你最终想要完成的目标非常相似。