Web爬虫 - Windows应用程序

问题描述 投票:2回答:1

我想构建一个带有UI的Web爬虫,允许用户输入一系列部件号,然后爬虫将挖掘大约6个URL(制造商/供应商站点)并撤回该部分的库存数量值并且如果它更新到1+就会发出警报(通常我们要找的零件数量为零,数周内)

我查看了Scrapy并尝试在我们的服务器上实现它,直到意识到它永远不会在我们通过HostGator使用的共享服务器上工作,因为它们不允许Python安装或GCC。

下一个选项是使用Scrapy Cloud,但是从我正在阅读的内容来看,我不得不在每次需要抓取不同的部件号时手动更新蜘蛛。

有没有办法(基于Windows应用程序或基于Web应用程序),我可以允许用户输入不同的部件号,将这些部件号发送到JSON文件(蜘蛛)并抓取“有库存”值并返回它?

python web-scraping automation web-crawler
1个回答
0
投票

你可以在某处上传Part Numbers作为JSON文件并覆盖start_requests方法来请求它。在这种情况下,您需要在parse_part_numbers方法内启动爬网请求。

def start_requests(self):
    yield scrapy.Request(http://url_to_your_json_file.json, self.parse_part_numbers)

def parse_part_numbers(self, response):
    part_numbers = json.loads(response.text)
    for url in self.urls_to_crawl:
        yield scrapy.Request(url)

def parse(self, response):
    ...

https://docs.scrapy.org/en/latest/topics/spiders.html#scrapy.spiders.Spider.start_requests

其他选项将覆盖start_requests以从外部数据库请求它。像Python Scrapy - populate start_urls from mysql之类的东西

© www.soinside.com 2019 - 2024. All rights reserved.