给出了从代码中运行scrapy爬虫的许多方法:
import scrapy
from scrapy.crawler import CrawlerProcess
class MySpider(scrapy.Spider):
# Your spider definition
...
process = CrawlerProcess({
'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)'
})
process.crawl(MySpider)
process.
我正在学习爬虫,在一些基本的爬虫之后,我尝试从github下载谷歌学者爬虫大师,看看它是如何运行的,在几个我可以修复的错误之后,我遇到了一个ModuleNotFoundError: No module named 'proxy'错误(middleware.py文件,from proxy import PROXIES行是问题)。
这段代码有一些问题,其中包含python 3.x版本中不再支持/建议的解决方案,包括后来被重命名/移动的模块,但我无法确定这是否也是这种情况,希望能得到帮助。
我只是将一个较旧的项目升级到Python3.6,发现有这些很酷的新异步/等待关键字。
我的项目包含一个网络爬虫,这是目前还不是很好的表现,大约需要7分钟才能完成。现在,由于已经有了django restframework来访问django应用程序的数据,所以我认为最好有一个REST端点,在那里我可以通过一个简单的POST请求从远程启动爬虫。
但是,我不希望客户端同步等待爬虫完成。我只想马上给他发送信息,说爬虫已经启动,并在后台启动爬虫。
from rest_framework import status
from rest_framework.decorators import api_vie