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中使用cookielib和urllib2配合PyQuery抓取网页信息
Apr 25 Python
Python实现视频下载功能
Mar 14 Python
python音频处理用到的操作的示例代码
Oct 27 Python
使用实现XlsxWriter创建Excel文件并编辑
May 04 Python
python定时按日期备份MySQL数据并压缩
Apr 19 Python
python3.4 将16进制转成字符串的实例
Jun 12 Python
python UDP(udp)协议发送和接收的实例
Jul 22 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
Sep 29 Python
详解Python中namedtuple的使用
Apr 27 Python
win10从零安装配置pytorch全过程图文详解
May 08 Python
Python如何实现自带HTTP文件传输服务
Jul 08 Python
python中的插入排序的简单用法
Jan 19 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实现的比较完善的购物车类
2014/12/02 PHP
PHP实现的简单AES加密解密算法实例
2017/05/29 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
js实现缓冲运动效果的方法
2015/04/10 Javascript
常用原生JS兼容性写法汇总
2016/04/27 Javascript
JS中的作用域链
2017/03/01 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
React应用中使用Bootstrap的方法
2017/08/15 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
在微信小程序中保存网络图片
2019/02/12 Javascript
koa中间件核心(koa-compose)源码解读分析
2020/06/15 Javascript
vue+elementui实现点击table中的单元格触发事件--弹框
2020/07/18 Javascript
javascript自定义加载loading效果
2020/09/15 Javascript
ES6中的Javascript解构的实现
2020/10/30 Javascript
Python实现向QQ群成员自动发邮件的方法
2014/11/19 Python
怎样使用Python脚本日志功能
2016/08/14 Python
Python中django学习心得
2017/12/06 Python
在Python 不同级目录之间模块的调用方法
2019/01/19 Python
超简单使用Python换脸实例
2019/03/27 Python
Django框架封装外部函数示例
2019/05/28 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
python根据多个文件名批量查找文件
2019/08/13 Python
Python 实现自动导入缺失的库
2019/10/29 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
PyTorch中反卷积的用法详解
2019/12/30 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
2020/04/02 Python
aden + anais官方网站:婴儿襁褓、毯子、尿布和服装
2017/06/21 全球购物
英国乡村时尚和宠物用品专家:Pet & Country
2018/07/02 全球购物
雷朋巴西官方商店:Ray-Ban Brasil
2020/07/21 全球购物
水产养殖学应届生求职信
2013/09/29 职场文书
物业工作计划书
2014/01/10 职场文书
护理专业自荐信范文
2014/02/26 职场文书
就业协议书怎么填
2014/09/15 职场文书
2015年秋季学校开学标语
2015/07/16 职场文书
2019大学竞选班长发言稿
2019/06/27 职场文书
Flask response响应的具体使用
2021/07/15 Python