Web爬网程序-Windows应用程序

时间:2019-03-21 11:37:57

标签: python web-scraping automation web-crawler

我想构建一个具有用户界面的Web爬网程序,该界面允许用户输入一系列零件号,然后爬网程序将挖掘大约6个URL(制造商/供应商站点)并拉回“库存数量”值并提醒该零件是否已更新为1+(通常是我们要寻找的零件库存数通常为零,持续数周)

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

下一个选择是利用Scrapy Cloud,但据我看来,每次需要检索不同的部件号时,我都必须手动更新蜘蛛。

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

1 个答案:

答案 0 :(得分: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