安装好 scrapy ,
把python/scripts 的路径加入 windows PATH
访问 scrapy 网站,找一个测试脚本
https://docs.scrapy.org/en/latest/intro/overview.html
copy 脚本
import scrapy
class QuotesSpider(scrapy.Spider):
name = 'quotes'
start_urls = [
'http://quotes.toscrape.com/tag/humor/',
]
def parse(self, response):
for quote in response.css('div.quote'):
yield {
'author': quote.xpath('span/small/text()').get(),
'text': quote.css('span.text::text').get(),
}
next_page = response.css('li.next a::attr("href")').get()
if next_page is not None:
yield response.follow(next_page, self.parse)
使用CMD 运行脚本,但是 无法找到结果输出文件
在指定的目录下没有输出文件,
在.bat 所在的目录下没有输出文件,
搜索硬盘也没有
C:\Users\Yaoniming\AppData\Local\Programs\Python\Python38\Scripts\scrapy.exe
runspider D:\workspace\MyPy\TEST\pachong\scrapy\study1.py
-O D:/workspace/MyPy/TEST/pachong/scrapy/quotes.json -t json
百度和stackflow 也没有什么好解释
尝试使用VScode terminal (PowerShell) 来Debug
PS D:\workspace\MyPy>
C:\Users\Yaoniming\AppData\Local\Programs\Python\Python38\Scripts\scrapy.exe runspider D:\workspace\MyPy\TEST\pachong\scrapy\study1.py -O quotes.json
终于在 ./MyPy 目录下找到了输出文件!
尝试如下目录:
PS D:\workspace\MyPy\test\pachong\scrapy>
C:\Users\Yaoniming\AppData\Local\Programs\Python\Python38\Scripts\scrapy.exe runspider D:\workspace\MyPy\TEST\pachong\scrapy\study1.py -O quotes.json
在 ./scrapy 目录下找到了输出文件!
结论:scrapy 在Windows PowerShell 中可以执行,指定output 文件时不要加目录,文件就会存到当前所在的目录中