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 相关文章推荐
Python内置函数的用法实例教程
Sep 08 Python
TensorFlow安装及jupyter notebook配置方法
Sep 08 Python
详解Python里使用正则表达式的ASCII模式
Nov 02 Python
Python列表推导式与生成器表达式用法示例
Feb 08 Python
Python中反射和描述器总结
Sep 23 Python
Python中的取模运算方法
Nov 10 Python
Python实现的特征提取操作示例
Dec 03 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
Jan 15 Python
Python函数装饰器常见使用方法实例详解
Mar 30 Python
一篇文章弄懂Python中所有数组数据类型
Jun 23 Python
新手入门学习python Numpy基础操作
Mar 02 Python
如何利用Python写个坦克大战
Nov 18 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
php函数之子字符串替换 str_replace
2011/03/23 PHP
typecho插件编写教程(一):Hello World
2015/05/28 PHP
phpMyAdmin安装并配置允许空密码登录
2015/07/04 PHP
利用PHP命令行模式采集股票趋势信息
2016/08/09 PHP
利用PHPExcel实现Excel文件的写入和读取
2017/04/26 PHP
PHP开发中csrf攻击的简单演示和防范
2017/05/07 PHP
jquery tab插件制作实现代码
2010/06/22 Javascript
基于jquery的jqDnR拖拽溢出的修改
2011/02/12 Javascript
JavaScript中“+”的陷阱深刻理解
2012/12/04 Javascript
jQuery中读取json文件示例代码
2013/05/10 Javascript
jquery实现效果比较好的table选中行颜色
2014/03/25 Javascript
JS实现的车标图片提示效果代码
2015/10/10 Javascript
深入学习jQuery Validate表单验证(二)
2016/01/18 Javascript
JS模拟简易滚动条效果代码(附demo源码)
2016/04/05 Javascript
Bootstrap开发实战之响应式轮播图
2016/06/02 Javascript
vue设计一个倒计时秒杀的组件详解
2019/04/06 Javascript
Vue内部渲染视图的方法
2019/09/02 Javascript
基于JavaScript实现大文件上传后端代码实例
2020/08/18 Javascript
简单谈谈python的反射机制
2016/06/28 Python
python 五子棋如何获得鼠标点击坐标
2019/11/04 Python
基于TensorFlow中自定义梯度的2种方式
2020/02/04 Python
Python远程方法调用实现过程解析
2020/07/28 Python
阿迪达斯荷兰官方网站:adidas荷兰
2018/03/16 全球购物
大学生毕业求职的自我评价
2013/09/29 职场文书
大学生的自我鉴定范文
2014/01/21 职场文书
俄罗斯商务邀请函
2014/01/26 职场文书
保护动物的标语
2014/06/11 职场文书
园林技术专业求职信
2014/07/28 职场文书
团代会开幕词
2015/01/28 职场文书
罚站检讨书
2015/01/29 职场文书
团结主题班会
2015/08/13 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server
如何使用Python实现一个简易的ORM模型
2021/05/12 Python
MySQL 数据类型选择原则
2021/05/27 MySQL
SpringBoot整合Mybatis Generator自动生成代码
2021/08/23 Java/Android
Nginx开源可视化配置工具NginxConfig使用教程
2022/06/21 Servers