Scrapy的初体验
上一节安装了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
- from scrapy.cmdline import execute
- import sys
- import os
- print(os.path.dirname(os.path.abspath(__file__)))
- sys.path.append(os.path.dirname(os.path.abspath(__file__)))
- execute(["scrapy","crawl","jobbole"])
这是代码内容
import sys 为了设置工程目录,调用命令才会生效
里面的路径最好不要写死:可以通过os获取路径,更加灵活
execute用来执行目标程序的
jobbole.py的内容
- class JobboleSpider(scrapy.Spider):
- name = 'jobbole'
- allowed_domains = ['blog.jobbole.com']
- start_urls = ['http://blog.jobbole.com/110287']
- def parse(self, response):
- re_selector = response.xpath("/html/body/div[1]/div[3]/div[1]/div[1]/h1")
- re2_selector = response.xpath('//*[@id="post-110287"]/div[1]/h1')
- title = response.xpath('//div[@class="entry-header"]/h1/text()')
- create_date = response.xpath("")
- #//*[@id="112706votetotal"]
- dian_zan = int(response.xpath("//span[contains(@class,'vote-post-up ')]/h10/text()").extract()[0])
- pass
通过xpath技术获取对应文章的一些字段信息,包括标题,时间,评论数,点赞数等,因为比较简单所以不在赘述
写到这儿,大家也知道每次在pycharm里面debug和麻烦,因为scrapy比较大,所以这时候我们可以使用Scrapy shell来调试
标记部分是目标网站的地址:现在我们可以更加愉悦的进行调试了。
今天scrapy的初体验就到这里了
最新文章
- ubuntu1404安装搜狗输入法后出现黑框的问题
- QString, string, int, char* 之间相互转换
- c# base64 编码解码
- java web开发环境配置
- ServletFileUpload(Servlet文件上传)
- 学习笔记——Ant
- .Net六大验证及使用方法
- 使用CSS3实现超炫的Loading(加载)动画效果
- cache在spring中使用
- android 关于LCD背光调节渐变过程引起背光闪烁问题
- mosquitto awareness when before it's being compiling, and you do settings and testing
- js设计模式--工厂模式
- 国寿e店/人寿云参会云助理,不去公司就能刷脸考勤打卡?
- 201621123062《java程序设计》第三周作业总结
- mybatis框架(4)---输入输出映射
- Linux Makefile 生成 *.d 依赖文件及 gcc -M -MF -MP 等相关选项说明【转】
- 【转】使用SevenZipSharp压缩、解压文件
- win2008R2管理员密码修改文档
- Android 外部启动activity,自定义action,action常量大全
- 【干货】SIFT-Workstation 下载与安装 不跳过每一个细节部分