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 20 Python
python基于socket实现网络广播的方法
Apr 29 Python
python记录程序运行时间的三种方法
Jul 14 Python
Python对字符串实现去重操作的方法示例
Aug 11 Python
flask中主动抛出异常及统一异常处理代码示例
Jan 18 Python
Python小进度条显示代码
Mar 05 Python
selenium跳过webdriver检测并模拟登录淘宝
Jun 12 Python
python中class的定义及使用教程
Sep 18 Python
python SVD压缩图像的实现代码
Nov 05 Python
浅谈Python中range与Numpy中arange的比较
Mar 11 Python
python filecmp.dircmp实现递归比对两个目录的方法
May 22 Python
解决Jupyter-notebook不弹出默认浏览器的问题
Mar 30 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写MySQL数据 实现代码
2009/06/15 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
js操作textarea 常用方法总结
2012/12/03 Javascript
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
页面图片浮动左右滑动效果的简单实现案例
2014/02/10 Javascript
教你用jquery实现iframe自适应高度
2014/06/11 Javascript
JavaScript实现在数组中查找不同顺序排列的字符串
2014/09/26 Javascript
js全选实现和判断是否有复选框选中的方法
2015/02/17 Javascript
浅谈JavaScript中的作用域和闭包问题
2015/07/07 Javascript
js实现二级导航功能
2017/03/03 Javascript
Vue cli 引入第三方JS和CSS的常用方法分享
2018/01/20 Javascript
使用vue2实现购物车和地址选配功能
2018/03/29 Javascript
用Object.prototype.toString.call(obj)检测对象类型原因分析
2018/10/11 Javascript
BootStrap中的模态框(modal,弹出层)功能示例代码
2018/11/02 Javascript
微信小程序 swiper 组件遇到的问题及解决方法
2019/05/26 Javascript
jquery UI实现autocomplete在获取焦点时得到显示列表功能示例
2019/06/04 jQuery
vue解决使用$http获取数据时报错的问题
2019/10/30 Javascript
vue自定义组件(通过Vue.use()来使用)即install的用法说明
2020/08/11 Javascript
Python使用BeautifulSoup库解析HTML基本使用教程
2016/03/31 Python
Django实现简单分页功能的方法详解
2017/12/05 Python
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
Python实现的端口扫描功能示例
2018/04/08 Python
python连接mongodb密码认证实例
2018/10/16 Python
解决PySide+Python子线程更新UI线程的问题
2019/01/11 Python
对IPython交互模式下的退出方法详解
2019/02/16 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
Free People中国官网:波西米亚风格女装服饰
2016/08/30 全球购物
HomeAway澳大利亚:预订你的度假屋,公寓、度假村、别墅等
2019/02/20 全球购物
金融学专科生自我鉴定
2014/02/21 职场文书
法人委托书
2014/07/31 职场文书
工作骂脏话检讨书
2014/10/05 职场文书
大学生个人简历自我评价
2015/03/11 职场文书
辞职信格式范文
2015/05/13 职场文书
民事代理词范文
2015/05/25 职场文书