上一节安装了python2和python3的开发环境

首先第一步:进入开发环境,workon article_spider

进入这个环境:

安装Scrapy,在安装的过程中出现了一些错误:通常这些错误都是部分文件没有安装导致的,因为大学时经常出现,所以对解决这种问题,很实在,直接到http://www.lfd.uci.edu/~gohlke/pythonlibs/这个网站下载对应的文件,下载后用pip安装,具体过程不在赘述。

然后进入工程目录,并打开我们的新创建的虚拟环境:

新建scrapy工程:ArticleSpider

创建好工程框架:在pycharm中导入

scrapy.cfg: 项目的配置文件。
ArticleSpeder/: 该项目的python模块。之后您将在此加入代码。
ArticleSpeder/items.py: 项目中的item文件。
ArticleSpeder/pipelines.py: 项目中的pipelines文件。
ArticleSpeder/settings.py: 项目的设置文件。
ArticleSpeder/spiders/: 放置spider代码的目录。

回到dos窗口用basic创建模板

上面pycharm的截图中已经创建好了:

为了今后更好的开发,创建一个用于debug的类main.py

  1. from scrapy.cmdline import execute
  2. import sys
  3. import os
  4. print(os.path.dirname(os.path.abspath(__file__)))
  5. sys.path.append(os.path.dirname(os.path.abspath(__file__)))
  6. execute(["scrapy","crawl","jobbole"])

这是代码内容

import sys 为了设置工程目录,调用命令才会生效

里面的路径最好不要写死:可以通过os获取路径,更加灵活

execute用来执行目标程序的

jobbole.py的内容

  1. class JobboleSpider(scrapy.Spider):
  2. name = 'jobbole'
  3. allowed_domains = ['blog.jobbole.com']
  4. start_urls = ['http://blog.jobbole.com/110287']
  5. def parse(self, response):
  6. re_selector = response.xpath("/html/body/div[1]/div[3]/div[1]/div[1]/h1")
  7. re2_selector = response.xpath('//*[@id="post-110287"]/div[1]/h1')
  8. title = response.xpath('//div[@class="entry-header"]/h1/text()')
  9. create_date = response.xpath("")
  10. #//*[@id="112706votetotal"]
  11. dian_zan = int(response.xpath("//span[contains(@class,'vote-post-up ')]/h10/text()").extract()[0])
  12. pass

通过xpath技术获取对应文章的一些字段信息,包括标题,时间,评论数,点赞数等,因为比较简单所以不在赘述

写到这儿,大家也知道每次在pycharm里面debug和麻烦,因为scrapy比较大,所以这时候我们可以使用Scrapy shell来调试

标记部分是目标网站的地址:现在我们可以更加愉悦的进行调试了。

今天scrapy的初体验就到这里了

最新文章

  1. ubuntu1404安装搜狗输入法后出现黑框的问题
  2. QString, string, int, char* 之间相互转换
  3. c# base64 编码解码
  4. java web开发环境配置
  5. ServletFileUpload(Servlet文件上传)
  6. 学习笔记——Ant
  7. .Net六大验证及使用方法
  8. 使用CSS3实现超炫的Loading(加载)动画效果
  9. cache在spring中使用
  10. android 关于LCD背光调节渐变过程引起背光闪烁问题
  11. mosquitto awareness when before it's being compiling, and you do settings and testing
  12. js设计模式--工厂模式
  13. 国寿e店/人寿云参会云助理,不去公司就能刷脸考勤打卡?
  14. 201621123062《java程序设计》第三周作业总结
  15. mybatis框架(4)---输入输出映射
  16. Linux Makefile 生成 *.d 依赖文件及 gcc -M -MF -MP 等相关选项说明【转】
  17. 【转】使用SevenZipSharp压缩、解压文件
  18. win2008R2管理员密码修改文档
  19. Android 外部启动activity,自定义action,action常量大全
  20. 【干货】SIFT-Workstation 下载与安装 不跳过每一个细节部分

热门文章

  1. linux环境下安装PHP的OpenSSL扩展
  2. Hbase节点的管理|服役和退役节点
  3. php 空格,换行,跳格使用说明
  4. thinkphp5.1调用七牛云SDK上传文件
  5. 动态栈-------C语言
  6. 21、Linux命令对服务器网络进行监控
  7. 2019牛客多校第三场H-Magic Line
  8. Jenkins和Docker
  9. 高级UI晋升之View渲染机制(二)
  10. web前端Vue+Django rest framework 框架 生鲜电商项目实战✍✍✍