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中列表和元祖的使用方法
Apr 25 Python
Python对文件操作知识汇总
May 15 Python
Python 2与Python 3版本和编码的对比
Feb 14 Python
python安装Scrapy图文教程
Aug 14 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
Nov 22 Python
Python反射用法实例简析
Dec 22 Python
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
May 04 Python
windows下python安装pip图文教程
May 25 Python
python实现屏保计时器的示例代码
Aug 08 Python
Python os模块常用方法和属性总结
Feb 20 Python
k-means 聚类算法与Python实现代码
Jun 01 Python
python实现粒子群算法
Oct 15 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
使用 eAccelerator加速PHP代码的方法
2007/09/30 PHP
thinkphp的c方法使用示例
2014/02/24 PHP
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
2014/07/19 PHP
php获取英文姓名首字母的方法
2015/07/13 PHP
使Ext的Template可以解析二层的json数据的方法
2007/12/22 Javascript
基于JQuery的一个简单的鼠标跟随提示效果
2010/09/23 Javascript
Js动态添加复选框Checkbox的实例方法
2013/04/08 Javascript
JavaScript框架是什么?怎样才能叫做框架?
2015/07/01 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
2016/09/20 Javascript
详解Node.js:events事件模块
2016/11/24 Javascript
JS实现多张图片预览同步上传功能
2017/06/23 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
关于js对textarea换行符的处理方法浅析
2018/08/03 Javascript
微信小程序时间戳转日期的详解
2019/04/30 Javascript
JS 创建对象的模式实例小结
2020/04/28 Javascript
js实现无刷新监听URL的变化示例代码详解
2020/06/03 Javascript
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
python中 chr unichr ord函数的实例详解
2017/08/06 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
解决pyecharts在jupyter notebook中使用报错问题
2020/04/23 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
Python实现平行坐标图的绘制(plotly)方式
2019/11/22 Python
基于注解实现 SpringBoot 接口防刷的方法
2021/03/02 Python
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
全球异乡人的跨境社交电商平台:Kouhigh口嗨网
2020/07/24 全球购物
.net面试题
2016/09/17 面试题
在浏览器端如何得到服务器端响应的XML数据
2012/11/24 面试题
机电专业毕业生推荐信
2013/11/10 职场文书
自荐书4要点
2014/01/25 职场文书
机械专业技术员求职信
2014/06/14 职场文书
领导班子整改方案和个人整改措施
2014/10/25 职场文书
确保工程质量承诺书
2015/04/29 职场文书
C站最全Python标准库总结,你想要的都在这里
2021/07/03 Python
浅谈JavaScript浅拷贝和深拷贝
2021/11/07 Javascript
win10系统计算机图标怎么调出来?win10调出计算机图标的方法
2022/08/14 数码科技