Scrapy的简单使用教程


Posted in Python onOctober 24, 2017

在这篇入门教程中,我们假定你已经安装了python。如果你还没有安装,那么请参考安装指南。

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

进入这个环境:

Scrapy的简单使用教程

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

Scrapy的简单使用教程

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

Scrapy的简单使用教程

新建scrapy工程:ArticleSpider

Scrapy的简单使用教程

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

 Scrapy的简单使用教程

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

回到dos窗口用basic创建模板

Scrapy的简单使用教程

上面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的简单使用教程

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

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

Python 相关文章推荐
python3.3使用tkinter开发猜数字游戏示例
Mar 14 Python
在Python程序中操作MySQL的基本方法
Jul 29 Python
Python实现多线程HTTP下载器示例
Feb 11 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
Sep 22 Python
Python安装Numpy和matplotlib的方法(推荐)
Nov 02 Python
在python中利用GDAL对tif文件进行读写的方法
Nov 29 Python
selenium3+python3环境搭建教程图解
Dec 07 Python
python 实现二维列表转置
Dec 02 Python
解决pyshp UnicodeDecodeError的问题
Dec 06 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
Jul 21 Python
利用python Pandas实现批量拆分Excel与合并Excel
May 23 Python
python 命令行传参方法总结
May 25 Python
详解python里使用正则表达式的分组命名方式
Oct 24 #Python
在python中使用正则表达式查找可嵌套字符串组
Oct 24 #Python
python爬虫之BeautifulSoup 使用select方法详解
Oct 23 #Python
浅谈python中copy和deepcopy中的区别
Oct 23 #Python
python的构建工具setup.py的方法使用示例
Oct 23 #Python
python使用pyqt写带界面工具的示例代码
Oct 23 #Python
基于Django的python验证码(实例讲解)
Oct 23 #Python
You might like
?生?D片??C字串
2006/12/06 PHP
PHP递归算法的详细示例分析
2013/02/19 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
PHP设置进度条的方法
2015/07/08 PHP
Zend Framework教程之资源(Resources)用法实例详解
2016/03/14 PHP
初学prototype,发个JS接受URL参数的代码
2006/09/25 Javascript
表单内同名元素的控制
2006/11/22 Javascript
jquery.simple.tree插件 更简单,兼容性更好的无限树插件
2010/09/03 Javascript
javascript工具库代码
2012/03/29 Javascript
IE与FireFox的JavaScript兼容问题解决办法
2013/12/31 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
jQuery插件扩展extend的简单实现原理
2016/06/24 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
javascript中call,apply,bind函数用法示例
2016/12/19 Javascript
Bootstrap源码解读排版(1)
2016/12/23 Javascript
微信小程序实现人脸识别
2018/05/25 Javascript
vue.js实现点击图标放大离开时缩小的代码
2021/01/27 Vue.js
Python实现的百度站长自动URL提交小工具
2014/06/27 Python
利用Python实现Windows定时关机功能
2017/03/21 Python
python测试mysql写入性能完整实例
2018/01/18 Python
基于Python开发chrome插件的方法分析
2018/07/07 Python
如何解决django-celery启动后迅速关闭
2019/10/16 Python
使用Python进行防病毒免杀解析
2019/12/13 Python
html5 worker 实例(二) 图片变换效果
2013/06/24 HTML / CSS
雅诗兰黛加拿大官网:Estee Lauder加拿大
2019/07/31 全球购物
Visual-Click葡萄牙:欧洲领先的在线眼镜商
2020/02/17 全球购物
.NET程序员的几道面试题
2012/06/01 面试题
学校校庆演讲稿
2014/05/22 职场文书
代领报检证委托书范本
2014/10/11 职场文书
甲乙双方合作协议书
2014/10/13 职场文书
幼儿园大班个人总结
2015/02/28 职场文书
市场督导岗位职责
2015/04/10 职场文书
卡特教练观后感
2015/06/08 职场文书
建房合同协议书
2016/03/21 职场文书
如何使用CocosCreator对象池
2021/04/14 Javascript
MySQL子查询中order by不生效问题的解决方法
2021/08/02 MySQL