一、开发环境

  1.安装 scrapy

  2.安装 python2.7

  3.安装编辑器 PyCharm

二、创建scrapy项目pachong

  1.在命令行输入命令:scrapy startproject  pachong

   (pachong 为项目的名称,可以改变)

     

  2.打开编辑器PyCharm,将刚刚创建的项目pachong导入。

    (点击file—>选择open—>输入或选择E:\pachong—>点击ok)

     

三、创建scrapy爬虫文件pachong_spider.py

  在pachong_spider.py这个文件夹中编写爬取网站数据的内容。

  (右击文件spiders—>选择New,在选择PhthonFile—>输入文件名pachong_spider)

  

四、编写爬虫pachong

  将 网址  http://lab.scrapyd.cn/   博客中的所有博客标题和博客标签,以作者名-语录为名分别保存在各自作者对应的txt文件中。

  1.查看http://lab.scrapyd.cn/源代码,获取自己所需的博客标题、作者、标签三个内容的对应HTML标签信息。

  

  2.获取网址的内容,保存到变量pachong里。

  (分析HTML结构,每一段需要提取的内容都被一个 <div class="quote post">……</div> 包裹。)

  

  3.获取循环获取标题、作者的第一个内容,和对应标签的内容,并对标签的内容进行逗号分隔后,进行分类保存。

  

  4.查看下一页的HTML标签,对下一页获取的内容进行循环。

     (查看存在不存在下一页的链接,如果存在下一页,把下一页的内容提交给parse然后继续爬取。如果不存在下一页链接结束爬取。)

       

     

  5.爬虫源代码。

 # -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
#Python 默认脚本文件都是 UTF-8 编码的,当脚本出现中文汉字时需要对其进行解码。
import scrapy
class itemSpider(scrapy.Spider):
# scrapy.Spider 是一个简单的爬虫类型。
# 它只是提供了一个默认start_requests()实现。
# 它从start_urlsspider属性发送请求,并parse 为每个结果响应调用spider的方法。
name ="pachong"
# 定义此爬虫名称的字符串。
# 它必须是唯一的。
start_urls = ['http://lab.scrapyd.cn']
#爬虫抓取自己需要的网址列表。
#该网站列表可以是多个。
def parse(self, response):
# 定义一个parse规则,用来爬取自己需要的网站信息。
pachong = response.css('div.quote')
# 用变量pachong来保存获取网站的部分内容。
for v in pachong:
text = v.css('.text::text').extract_first()
autor = v.css('.author::text').extract_first()
tags = v.css('.tags .tag::text').extract()
tags = ','.join(tags)
# 循环提取所有的标题、作者和标签内容。
fileName = u'%s-语录.txt' % autor
# 文件的名称为作者名字—语录.txt。
with open(fileName, "a+")as f:
f.write(u'标题:'+text)
f.write('\n')
f.write(u'标签:' + tags)
f.write('\n------------------------------------------------\n')
# 打开文件并写入标题和标签内容。
f.close()
# 关闭文件
next_page = response.css('li.next a::attr(href)').extract_first()
if next_page is not None:
next_page = response.urljoin(next_page)
yield scrapy.Request(next_page, callback=self.parse)
# 查看存在不存在下一页的链接,如果存在下一页,把下一页的内容提交给parse然后继续爬取。
# 如果不存在下一页链接结束爬取。

五、运行爬虫pachong

  1.在命令行输入命令:scrapy crawl  pachong

  (在pachong的目录下输入命令)

  

  

  2.打开e盘 pachong文件夹,已经按要求爬取网址  http://lab.scrapyd.cn/ 的内容。

  

Python之Scrapy爬虫框架 入门实例(一)的更多相关文章

  1. 【python】Scrapy爬虫框架入门

    说明: 本文主要学习Scrapy框架入门,介绍如何使用Scrapy框架爬取页面信息. 项目案例:爬取腾讯招聘页面 https://hr.tencent.com/position.php?&st ...

  2. scrapy爬虫框架入门实例(一)

    流程分析 抓取内容(百度贴吧:网络爬虫吧) 页面: http://tieba.baidu.com/f?kw=%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB&ie=ut ...

  3. Python之Scrapy爬虫框架安装及简单使用

    题记:早已听闻python爬虫框架的大名.近些天学习了下其中的Scrapy爬虫框架,将自己理解的跟大家分享.有表述不当之处,望大神们斧正. 一.初窥Scrapy Scrapy是一个为了爬取网站数据,提 ...

  4. [Python] Scrapy爬虫框架入门

    说明: 本文主要学习Scrapy框架入门,介绍如何使用Scrapy框架爬取页面信息. 项目案例:爬取腾讯招聘页面 https://hr.tencent.com/position.php?&st ...

  5. Scrapy 爬虫框架入门案例详解

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:崔庆才 Scrapy入门 本篇会通过介绍一个简单的项目,走一遍Scrapy抓取流程,通过这个过程,可以对 ...

  6. windows下使用python的scrapy爬虫框架,爬取个人博客文章内容信息

    scrapy作为流行的python爬虫框架,简单易用,这里简单介绍如何使用该爬虫框架爬取个人博客信息.关于python的安装和scrapy的安装配置请读者自行查阅相关资料,或者也可以关注我后续的内容. ...

  7. scrapy爬虫框架入门教程

    scrapy安装请参考:安装指南. 我们将使用开放目录项目(dmoz)作为抓取的例子. 这篇入门教程将引导你完成如下任务: 创建一个新的Scrapy项目 定义提取的Item 写一个Spider用来爬行 ...

  8. Python使用Scrapy爬虫框架全站爬取图片并保存本地(妹子图)

    大家可以在Github上clone全部源码. Github:https://github.com/williamzxl/Scrapy_CrawlMeiziTu Scrapy官方文档:http://sc ...

  9. scrapy爬虫框架入门实战

    博客 https://www.jianshu.com/p/61911e00abd0 项目源码 https://github.com/ppy2790/jianshu/blob/master/jiansh ...

随机推荐

  1. 关于Unity的协程

    协程 认识协程 //协程不是多线程:是一段在主程序之外执行的代码 //协程不受生命周影响 //作用:能够口直代码在特定的时间执行. //1,延时操作 //2,等待某代码执行结束之后执行 /* 特点:1 ...

  2. NMEA0183

    NMEA简介 NMEA是全国海洋电子协会(National Marine Electronics Association):国际海上电子协会(National Marine Electronics A ...

  3. 分享Java开发的利器-Lombok

    译注:Lombok是一个很老的项目了,也非常实用,但奇怪的是这么多年来似乎一直不温不火.很多Lombok特性可以参考它的官网介绍哈.兄弟连教育在这里只是简单介绍一下它的基础功能. Lombok是一个旨 ...

  4. 1-1hibernate数据库操作基础

    一.纯原始数据库连接详见http://www.cnblogs.com/lukelook/p/7845757.html 1.Class.forName("oracle.jdbc.driver. ...

  5. 排序算法Java实现(希尔排序)

    算法描述:先将待排序序列的数组元素分成多个子序列,使得每个子序列的元素个数相对较少,然后对各个子序列分别进行直接插入排序,待整个待排序序列“基本有序”后,再对所有元素进行一次直接插入排序. packa ...

  6. Algorithm --> 全排列

    1.算法简述 简单地说:全排列就是从第一个数字起每个数分别与它后面的数字交换. E.g:E = (a , b , c),则 prem(E)= a.perm(b,c)+ b.perm(a,c)+ c.p ...

  7. poj 3696 The Luckiest Number

    The Luckiest Number 题目大意:给你一个int范围内的正整数n,求这样的最小的x,使得:连续的x个8可以被n整除. 注释:如果无解输出0.poj多组数据,第i组数据前面加上Case ...

  8. supervisor进程管理工具的使用

    supervisor是一款进程管理工具,当想让应用随着开机启动,或者在应用崩溃之后自启动的时候,supervisor就派上了用场. 广泛应用于服务器中,用于引导控制程序的启动 安装好superviso ...

  9. Jquery瀑布流布局,jQuery Wookmark Load 示例

    瀑布流布局非常适合大量图片的展示,一改过去裁剪图片尺寸同意的排版,每张图片都能完全展示,并错落有致,让人眼前一亮. 注意事项:img元素的width和weight属性需要写,否则定位会不准确. 查看j ...

  10. 个人总结——Beta阶段

    Beta总结 我们在beta 结束之后, 每位写一个博客, 回顾并总结自己的beta过程,哪些方面做的好的,哪些方面做得不足需要改进的 回答问题 分析在Alpha阶段自己提出的五个问题,针对每个问题, ...