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通过wxPython打开一个音频文件并播放的方法
Mar 25 Python
Python实现批量修改文件名实例
Jul 08 Python
深入浅析python定时杀进程
Jun 06 Python
Python用UUID库生成唯一ID的方法示例
Dec 15 Python
python爬虫爬取网页表格数据
Mar 07 Python
用Python批量把文件复制到另一个文件夹的实现方法
Aug 16 Python
python tkinter canvas使用实例
Nov 04 Python
python实现输入的数据在地图上生成热力图效果
Dec 06 Python
selenium+Chrome滑动验证码破解二(某某网站)
Dec 17 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
Feb 20 Python
python之np.argmax()及对axis=0或者1的理解
Jun 02 Python
Python使用pandas导入xlsx格式的excel文件内容操作代码
Dec 24 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 开发的 8 个技巧
2007/01/02 PHP
PHPMailer安装方法及简单实例
2008/11/25 PHP
php中日期加减法运算实现代码
2011/12/08 PHP
php用户登录之cookie信息安全分析
2016/05/13 PHP
jquery中的$(document).ready()与window.onload的区别
2009/11/18 Javascript
JavaScript为对象原型prototype添加属性的两种方式
2010/08/01 Javascript
jquery实现textarea 高度自适应
2015/03/11 Javascript
JS获取网页图片name属性的方法
2015/04/01 Javascript
javascript实现英文首字母大写
2015/04/23 Javascript
javascript弹出拖动窗口
2015/08/11 Javascript
学习使用jquery iScroll.js移动端滚动条插件
2020/03/24 Javascript
javacript获取当前屏幕大小
2016/06/04 Javascript
jQuery过滤选择器用法示例
2016/09/12 Javascript
jQuery中页面返回顶部的方法总结
2016/12/30 Javascript
JS实现针对给定时间的倒计时功能示例
2017/04/11 Javascript
Vue2.0 UI框架ElementUI使用方法详解
2017/04/14 Javascript
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
vue计算属性和监听器实例解析
2018/05/10 Javascript
vue富文本编辑器组件vue-quill-edit使用教程
2018/09/21 Javascript
Vue 无限滚动加载指令实现方法
2019/05/28 Javascript
谈谈node.js中的模块系统
2020/09/01 Javascript
python密码错误三次锁定(实例讲解)
2017/11/14 Python
Python构建网页爬虫原理分析
2017/12/19 Python
TensorFlow实现Softmax回归模型
2018/03/09 Python
python实现与redis交互操作详解
2020/04/21 Python
Kangol帽子官网:坎戈尔袋鼠
2018/09/26 全球购物
莱德杯高尔夫欧洲官方商店:Ryder Cup Shop
2019/08/14 全球购物
毕业生护理专业个人求职信范文
2014/01/04 职场文书
应聘面试自我评价
2014/01/24 职场文书
高中生学期学习自我评价
2014/02/24 职场文书
cf搞笑广告词
2014/03/14 职场文书
演讲比赛策划方案
2014/06/11 职场文书
十一国庆节“向国旗敬礼”主题班会活动方案
2014/09/27 职场文书
简单的个人租房协议书范本
2014/11/26 职场文书
个人事迹材料范文
2014/12/29 职场文书
JavaScript ES6的函数拓展
2022/01/18 Javascript