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操作ssh实现服务器日志下载的方法
Jun 03 Python
Python用zip函数同时遍历多个迭代器示例详解
Nov 14 Python
Python使用sorted排序的方法小结
Jul 28 Python
Android分包MultiDex策略详解
Oct 30 Python
答题辅助python代码实现
Jan 16 Python
Python+pandas计算数据相关系数的实例
Jul 03 Python
python单向循环链表原理与实现方法示例
Dec 03 Python
浅谈tensorflow 中tf.concat()的使用
Feb 07 Python
python生成大写32位uuid代码
Mar 03 Python
OpenCV 表盘指针自动读数的示例代码
Apr 10 Python
python3读取autocad图形文件.py实例
Jun 05 Python
Python 字符串池化的前提
Jul 03 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
提问的智慧(2)
2006/10/09 PHP
PHP加Nginx实现动态裁剪图片方案
2014/03/10 PHP
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
2014/06/22 PHP
PHP用户注册邮件激活账户的实现代码
2017/05/31 PHP
php通过各种函数判断0和空
2020/07/04 PHP
IE和Firefox在JavaScript应用中的兼容性探讨
2008/04/01 Javascript
js arguments.callee的应用代码
2009/05/07 Javascript
JS实现div居中示例
2014/04/17 Javascript
多个checkbox被选中时如何判断是否有自己想要的
2014/09/22 Javascript
深入分析jquery解析json数据
2014/12/09 Javascript
JavaScript异步加载浅析
2014/12/28 Javascript
Bootstrap基础学习
2015/06/16 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
BootStrap实现树形目录组件代码详解
2016/06/21 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
2017/03/23 Javascript
webpack处理 css\less\sass 样式的方法
2017/08/21 Javascript
完美解决手机网页中输入框被输入法遮挡的问题
2017/12/19 Javascript
微信小程序中进行地图导航功能的实现方法
2018/06/29 Javascript
vue使用中的内存泄漏【推荐】
2018/07/10 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
2020/06/03 Javascript
JavaScript中使用Spread运算符的八种方法总结
2020/06/18 Javascript
vue将data恢复到初始状态 && 重新渲染组件实例
2020/09/04 Javascript
Django中使用group_by的方法
2015/05/26 Python
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
python selenium 获取标签的属性值、内容、状态方法
2018/06/22 Python
python opencv 检测移动物体并截图保存实例
2020/03/10 Python
资生堂美国官网:Shiseido美国
2016/09/02 全球购物
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
英国最大的海报商店:GB Posters
2018/03/20 全球购物
Radley英国官网:英国莱德利小狗包
2019/03/21 全球购物
信息工程学院毕业生推荐信
2013/11/05 职场文书
大专生毕业的自我评价
2014/02/06 职场文书
诚信承诺书范文
2014/03/27 职场文书
银行求职自荐信范文
2015/03/04 职场文书
你真的了解redis为什么要提供pipeline功能
2021/06/22 Redis
python疲劳驾驶困倦低头检测功能的实现
2022/04/04 Python