我用Intellij IDEA写Python脚本,IDEA装上Python插件之后跟PyCharm差不多。
链接 Pycharm中的scrapy安装教程 - xiaoli2018 - 博客园
步骤
* 打开IDEA的settings->Plugins,点击,搜索并安装Python插件
* 新建Python项目
* 执行方法一或方法二
* 记住scrapy.exe的位置,在Python.exe的同级目录/Scripts/scrapy.exe。可以将Scripts文件夹添加到Path中。
方法一
* 点击File->Project Structure->SDKs,选择正在使用的Python解释器,然后选Packages,+
* 现在进入了一个新界面“Available Packages”
* 按照下面的依赖关系安装各个包
方法二
* 新建Python脚本,并在其中写入一行代码:import scrapy
* 点击代码中的scrapy这个单词,按Alt+Enter,选择Install Package scrapy,该包及依赖包会被自动安装
链接 Scrapy简单入门及实例讲解 - 孔扎根 - 博客园
个人理解 Scrapy架构
第一个例子的步骤
* 在项目下新建一个文件夹MyFirstScrapy,然后右击这个文件夹,选择Show In Explorer
* 在打开的窗口中,按住Shift右击空白处,在此处打开PowerShell窗口(或命令提示符)
如果已经打开终端但是定位在其它目录,可以通过cd /D F:\xxx\MyFisrtScrapy切换到该文件夹。
* 创建工程: 执行scrapy startproject xxx
* 创建爬虫程序: 执行scrapy genspider(翻译: 生成爬虫器) xxx meijutt.com
运行之后会生成一个XXXSpider类继承scrapy.Spider
* 设置数据存储模板 items.py。注意不要新建文件,scrapy在创建工程时已经建立了了这个文件
* 编写爬虫的parse函数。(Spiders)
* 设置配置文件 settings.py。(将Spiders生成的item引到自定义的Pipelines)
* 编写数据处理脚本。(Pipelines)
* 执行爬虫。(通过名字定位到Spider)
* 请参考原网址
第一个例子:我遇到的问题
错误1 KeyError: 'Spider not found: y'
爬虫器的name和命令中的名字要一致:
class MeijuSpider(scrapy.Spider):
name = 'xxx'
scrapy.exe crawl xxx
参考链接 KeyError: 'Spider not found:name一样,为何还是找不到spider 多种解决方案,总有一个适合你! - weixin_41931602的博客 - CSDN博客
错误2 builtins.ModuleNotFoundError: No module named 'win32api'
在控制台中执行 pip install pywin32 即可
第一个例子:原文可能存在的问题
问题1 筛选条件存在问题
修改MeijuSpider的parse函数,xpath的参数可能要修改。
修改方法参考链接:Scrapy元素选择器Xpath用法汇总 - manongpengzai的博客 - CSDN博客
问题2 文件写入有问题
实测需要删除pipelines.py中的.encode(
"utf8"
)
第二个例子 带截图
* 在命令提示符创建项目、生成脚本
* 修改实体类
* 编写爬虫
* 编辑配置文件(直接取消注释)
* 编写数据处理脚本
* 执行爬虫
* 运行结果
Scrapy调试
链接 Scrapy使用以及Xpath的一些坑, 再入剁手 - 满天都是小星星 - 博客园
由于上一个例子一直爬不出数据,所以我想用对xpath的参数进行测试(后来发现是PicItem里面少了个括号)