爬取廖雪峰博客

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬取廖雪峰博客相关的知识,希望对你有一定的参考价值。

#https://zhuanlan.zhihu.com/p/26342933

scrapy startproject liaoxuefeng
cd liaoxuefeng

# pycharm中新建并导入工程
#讲解scrapy基本架构及文件用处

    引擎从调度器中取出一个链接(URL)用于接下来的抓取
    引擎把URL封装成一个请求(Request)传给下载器
    下载器把资源下载下来,并封装成应答包(Response)
    爬虫解析Response
    解析出实体(Item),则交给实体管道进行进一步的处理
    解析出的是链接(URL),则把URL交给调度器等待抓取

技术分享

技术分享

 

建立一个项目之后:

第一件事情是在items.py文件中定义一些字段,这些字段用来临时存储你需要保存的数据。方便后面保存数据到其他地方,比如数据库 或者 本地文本之类的。

第二件事情在spiders文件夹中编写自己的爬虫

第三件事情在pipelines.py中存储自己的数据

还有一件事情,不是非做不可的,就settings.py文件 并不是一定要编辑的,只有有需要的时候才会编辑。

 

#创建爬虫文件

这里先新建spider文件liaoxuefeng
import scrapy


class LiaoxuefengSpider(scrapy.Spider):
# 这里是将爬虫定义为scrapy.Spider这个类下的一个实例。
# Spider这个类定义了爬虫的很多基本功能,我们直接实例化就好,
# 省却了很多重写方法的麻烦。
name = ‘lxf‘
#这是爬虫的名字,这个非常重要。
start_urls = [‘http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000‘]
#这是爬虫开始干活的地址,必须是一个可迭代对象。

def parse(self, response):
#爬虫收到上面的地址后,就会发送requests请求,在收到服务器返回的内容后,就将内容传递给parse函数。在这里我们重写函数,达到我们想要的功能。
titles = response.xpath("//ul[@class=‘uk-nav uk-nav-side‘]//a/text()").extract()
#这是廖雪峰老师python教程的标题列表。我们利用xpath解析器对收到的response进行分析,从而提取出我们需要的数据。//XXX表示任何任何目录下的XXX区块,/XXX表示子目录下的XXX区块,XXX[@class=abc]表示带有class=abc属性值的XXX区块,/text()表示获取该区块的文本。最后加上.extract()表示将内容提取出来。
for title in titles:
print (title)

 

#编写main文件
from scrapy.cmdline import execute

import sys
sys.path.append("D:\\PycharmProjects\\liaoxuefeng")
execute([scrapy,crawl,lxf])

 




























以上是关于爬取廖雪峰博客的主要内容,如果未能解决你的问题,请参考以下文章

python 3 廖雪峰博客笔记 python解释器

scrapy按顺序启动多个爬虫代码片段(python3)

scrapy主动退出爬虫的代码片段(python3)

Python爬取博客园新闻代码

什么是对中国大学进行排名的爬窗系统

Python爬虫爬取一篇韩寒新浪博客