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标准库内置函数complex介绍
Nov 25 Python
Python线程中对join方法的运用的教程
Apr 09 Python
浅谈Python数据类型之间的转换
Jun 08 Python
python使用xlrd和xlwt读写Excel文件的实例代码
Sep 05 Python
Python发送邮件功能示例【使用QQ邮箱】
Dec 04 Python
python 移动图片到另外一个文件夹的实例
Jan 10 Python
scrapy-redis的安装部署步骤讲解
Feb 27 Python
python替换字符串中的子串图文步骤
Jun 19 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
Aug 09 Python
使用PyCharm官方中文语言包汉化PyCharm
Nov 18 Python
Python脚本调试工具安装过程
Jan 11 Python
pandas中DataFrame检测重复值的实现
May 26 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 多维数组排序实现代码
2009/08/05 PHP
php curl选项列表(超详细)
2013/07/01 PHP
laravel中短信发送验证码的实现方法
2018/04/25 PHP
jQuery 跨域访问问题解决方法
2009/12/02 Javascript
JS+JSP checkBox 全选具体实现
2014/01/02 Javascript
红米手机抢购的js代码
2014/03/10 Javascript
js验证上传图片的方法
2015/05/12 Javascript
jquery调整表格行tr上下顺序实例讲解
2016/01/09 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
2016/08/15 Javascript
详解vue-cli 本地开发mock数据使用方法
2018/05/29 Javascript
vue.js实现的幻灯片功能示例
2019/01/18 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
2019/05/14 Javascript
使用localStorage替代cookie做本地存储
2019/09/25 Javascript
基于form-data请求格式详解
2019/10/29 Javascript
vue点击按钮实现简单页面的切换
2020/09/08 Javascript
[00:32]2018DOTA2亚洲邀请赛EG出场
2018/04/03 DOTA
Python语言描述最大连续子序列和
2017/12/05 Python
Python rstrip()方法实例详解
2018/11/11 Python
Django 开发环境配置过程详解
2019/07/18 Python
Flask 上传自定义头像的实例详解
2020/01/09 Python
Python实现初始化不同的变量类型为空值
2020/06/02 Python
python实现从ftp上下载文件的实例方法
2020/07/19 Python
selenium切换标签页解决get超时问题的完整代码
2020/08/30 Python
Python基础进阶之海量表情包多线程爬虫功能的实现
2020/12/17 Python
Python实现随机爬山算法
2021/01/29 Python
CSS3自定义滚动条样式的示例代码
2017/08/21 HTML / CSS
戴尔加拿大官网:Dell加拿大
2016/09/17 全球购物
美国家用和厨房电器销售网站:Appliances Connection
2020/01/24 全球购物
男女钓鱼靴和甲板鞋:XTRATUF
2021/01/09 全球购物
优秀士兵个人事迹材料
2014/01/19 职场文书
竞选大队委员演讲稿
2014/04/28 职场文书
弘扬民族精神演讲稿
2014/05/07 职场文书
党的群众路线教育实践活动对照检查材料
2014/09/22 职场文书
社区四风存在问题及整改措施
2014/10/26 职场文书
2015年女职工工作总结
2015/05/15 职场文书
东京审判观后感
2015/06/01 职场文书