TL; DR,现在可以使用;发布,以帮助可能遇到此问题的其他人。干杯!
使用conda使用python 3.6.5 64位 安装了scrapy 1.6.0并被Visual Studio代码识别 复制并粘贴文档代码
import scrapy
class QuotesSpider(scrapy.Spider):
name = "quotes"
def start_requests(self):
urls = [
'http://quotes.toscrape.com/page/1/',
'http://quotes.toscrape.com/page/2/',
]
for url in urls:
yield scrapy.Request(url=url, callback=self.parse)
def parse(self, response):
page = response.url.split("/")[-2]
filename = 'quotes-%s.html' % page
with open(filename, 'wb') as f:
f.write(response.body)
self.log('Saved file %s' % filename)
尝试从Powershell运行
scrapy crawl quotes
返回
Scrapy 1.6.0 - no active project
Unknown command: crawl
看过: https://github.com/scrapy/scrapy/issues/3344
当复制粘贴到下面的复杂蜘蛛目录中时 ..conda \ pkgs \ scrapy-1.6.0-py36_0 \ Lib \ site-packages \ scrapy \ spiders
更新:正在运行
scrapy startproject <folder containing spider>
让我进行抓取抓取... 但对于抓取抓取报价会导致全新的错误->
scrapy list
返回空值/没有可用的蜘蛛
运行
scrapy genspider <dummy> <new dir>
创建了必要的文件以开始运行蜘蛛程序->我将引号蜘蛛程序复制并粘贴到该文件夹中并运行
scrapy list
(这可以识别我在报价蜘蛛末尾作为新蜘蛛引用的打印语句,现在我不能摆脱它了……?好吧ig)
运行草率爬网引号... aaaand 大而长的可怕错误。很好。
搜索此错误的最后一行将我带到 ImportError: No module named win32api while using Scrapy 建议使用
pip install pypiwin32
此后,我们运行抓取的爬网引号和瞧,我们在终端中得到了一个很恐怖的响应,但是它是一个工作脚本,具有很多输出。教程说的文件应该存在,并且在运行时产生正确的输出。 (缺少某些格式,但内容正确)
我相信我的问题已经解决,以后我会把这个问题发布给碰巧遇到此问题的任何人。
这与提到的问题不同,因为此问题包括他们的答案以及我如何从无法识别的抓取中达到这一点