爬虫记(二) - Idea安装Scrapy & Scrapy入门

我用Intellij IDEA写Python脚本,IDEA装上Python插件之后跟PyCharm差不多。

安装Scrapy

链接 Pycharm中的scrapy安装教程 - xiaoli2018 - 博客园

步骤

* 打开IDEA的settings->Plugins,点击,搜索并安装Python插件

* 新建Python项目

* 执行方法一或方法二

* 记住scrapy.exe的位置,在Python.exe的同级目录/Scripts/scrapy.exe。可以将Scripts文件夹添加到Path中。

方法一

* 点击File->Project Structure->SDKs,选择正在使用的Python解释器,然后选Packages,+

爬虫记(二) - Idea安装Scrapy & Scrapy入门_第1张图片

* 现在进入了一个新界面“Available Packages”

* 按照下面的依赖关系安装各个包

爬虫记(二) - Idea安装Scrapy & Scrapy入门_第2张图片

方法二

* 新建Python脚本,并在其中写入一行代码:import scrapy

* 点击代码中的scrapy这个单词,按Alt+Enter,选择Install Package scrapy,该包及依赖包会被自动安装

 

Scrapy入门

链接 Scrapy简单入门及实例讲解 - 孔扎根 - 博客园

个人理解 Scrapy架构

爬虫记(二) - Idea安装Scrapy & Scrapy入门_第3张图片

第一个例子的步骤

* 在项目下新建一个文件夹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")

第二个例子 带截图

* 在命令提示符创建项目、生成脚本

爬虫记(二) - Idea安装Scrapy & Scrapy入门_第4张图片

* 修改实体类

爬虫记(二) - Idea安装Scrapy & Scrapy入门_第5张图片

* 编写爬虫

爬虫记(二) - Idea安装Scrapy & Scrapy入门_第6张图片

* 编辑配置文件(直接取消注释)

* 编写数据处理脚本

爬虫记(二) - Idea安装Scrapy & Scrapy入门_第7张图片

* 执行爬虫

爬虫记(二) - Idea安装Scrapy & Scrapy入门_第8张图片

* 运行结果

爬虫记(二) - Idea安装Scrapy & Scrapy入门_第9张图片

 

Scrapy调试

链接 Scrapy使用以及Xpath的一些坑, 再入剁手 - 满天都是小星星 - 博客园

由于上一个例子一直爬不出数据,所以我想用对xpath的参数进行测试(后来发现是PicItem里面少了个括号)

你可能感兴趣的:(Python学习)