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使用chardet判断字符编码
May 09 Python
举例详解Python中循环语句的嵌套使用
May 14 Python
Python实现telnet服务器的方法
Jul 10 Python
Python的dict字典结构操作方法学习笔记
May 07 Python
详解Python中的__new__、__init__、__call__三个特殊方法
Jun 02 Python
Python实现的括号匹配判断功能示例
Aug 25 Python
Python编程深度学习计算库之numpy
Dec 28 Python
Python pip替换为阿里源的方法步骤
Jul 02 Python
浅析PEP570新语法: 只接受位置参数
Oct 15 Python
tensorflow之并行读入数据详解
Feb 05 Python
Python识别html主要文本框过程解析
Feb 18 Python
Python任务自动化工具tox使用教程
Mar 17 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分页显示制作详细讲解
2006/10/09 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
Yii2.0高级框架数据库增删改查的一些操作
2015/11/16 PHP
php基于数组函数实现关联表的编辑操作示例
2017/07/04 PHP
枚举JavaScript对象的函数
2006/12/22 Javascript
纯js实现的论坛常用的运行代码的效果
2008/07/15 Javascript
比较搞笑的js陷阱题
2010/02/07 Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
2014/02/22 Javascript
javascript制作网页图片上实现下雨效果
2015/02/26 Javascript
php结合imgareaselect实现图片裁剪
2015/07/05 Javascript
详细解读JavaScript编程中的Promise使用
2015/07/27 Javascript
JavaScript检测并限制复选框选中个数的方法
2015/08/12 Javascript
javascript中JSON.parse()与eval()解析json的区别
2016/05/19 Javascript
jq checkbox 的全选并ajax传参的实例
2017/04/01 Javascript
详解vue数据渲染出现闪烁问题
2017/06/29 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
vue-cli常用设置总结
2018/02/24 Javascript
解决layui使用layui-icon出现默认图标的问题
2019/09/11 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
2020/03/10 Javascript
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
Python Tkinter基础控件用法
2014/09/03 Python
Python计时相关操作详解【time,datetime】
2017/05/26 Python
Python3.X 线程中信号量的使用方法示例
2017/07/24 Python
Python批量提取PDF文件中文本的脚本
2018/03/14 Python
图文详解Django使用Pycharm连接MySQL数据库
2019/08/09 Python
pytorch打印网络结构的实例
2019/08/19 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
PUMA澳大利亚官方网站:德国运动品牌
2018/10/19 全球购物
澳大利亚家用电器在线商店:Billy Guyatts
2020/05/05 全球购物
微观物理专业自荐信
2014/01/26 职场文书
优秀教师事迹简介
2014/02/02 职场文书
建筑工地门卫岗位职责
2014/04/30 职场文书
某集团股份有限公司委托书样本
2014/09/24 职场文书
一篇文章弄懂Python中的内建函数
2021/08/07 Python
《现实主义勇者的王国再建记》第三弹OST全曲试听片段公开
2022/04/04 日漫