爬取廖雪峰博客

#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‘])
时间: 2024-07-30 00:58:52

爬取廖雪峰博客的相关文章

Python爬取CSDN专家博客系类——移动开发

文章分为两部分:爬取移动开发专家的姓名和博客首页地址,爬取每个专家的所有博客存放在已该专家名字命名的txt文件中 说明:本爬虫主要是采用BeautifulSoup和少量的正则匹配,在第一部分抓取完毕后需要将文件格式改为ANSI,代码如下: 第一部分: 第二部分: 结果如下图: 版权声明:本文为博主原创文章,未经博主允许不得转载.

python+selenium+requests爬取我的博客粉丝的名称

爬取目标 1.本次代码是在python2上运行通过的,python3的最需改2行代码,用到其它python模块 selenium 2.53.6 +firefox 44 BeautifulSoup requests 2.爬取目标网站,我的博客:https://home.cnblogs.com/u/yoyoketang爬取内容:爬我的博客的所有粉丝的名称,并保存到txt 3.由于博客园的登录是需要人机验证的,所以是无法直接用账号密码登录,需借助selenium登录 selenium获取cookies

通过urllib.request爬取CSDN原创博客标题方法封装

通过urllib.request爬取CSDN博客原创博客标题方法封装 正则表达式:pat = '<span class=".*">原创</span>(.*)</a>' import re import urllib.request def get_csdn(url, pat, page): title_list = [] for page1 in range(1, int(page) + 1): new_url = url + str(page1)

IO编程——转自廖雪峰博客

IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口. 比如你打开浏览器,访问新浪首页,浏览器这个程序就需要通过网络IO获取新浪的网页.浏览器首先会发送数据给新浪服务器,告诉它我想要首页的HTML,这个动作是往外发数据,叫Output,随后新浪服务器把网页发过来,这个动作是从外面接收数据,叫Input.所以,通常,程序完成IO操作会有Input和Output两个数

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

python 解释器用于理解 python代码,存在多种python解释器 CPython 官方版本python解释器,用C语言开发,使用最广泛 IPython 基于CPython,在交互方式上有所增加 PyPy 提高执行速度,使用JIT技术对Python代码动态编译. PyPy 和 CPython有一些不同.同样的代码在两种解释器上肯能有不同结果. Jython 运行在java平台下的python解释器,可以直接把python编译成java字节码 IronPython .Net平台上的 Pyt

python 3 廖雪峰博客笔记(一) python特性

python 是一种解释性语言,代码在执行时会一行一行翻译成CPU能理解的机器语言. python 的特点是简单优雅. python 的优点是 代码优雅 基础代码库丰富,包括网络.文件.GUI.数据库.文本 第三方库丰富 python 的缺点是 执行效率低,逐行翻译机器代码. 代码不能加密. python 适合开发 网络应用,网站.后台服务等 日常小工具,脚本任务等

使用python爬取csdn博客访问量

最近学习了python和爬虫,想写一个程序练练手,所以我就想到了大家都比较关心的自己的博客访问量,使用python来获取自己博客的访问量,这也是后边我将要进行的项目的一部分,后边我会对博客的访问量进行分析,以折线图和饼图等可视化的方式展示自己博客被访问的情况,使自己能更加清楚自己的哪些博客更受关注,博客专家请勿喷,因为我不是专家,我听他们说专家本身就有这个功能. 一.网址分析 进入自己的博客页面,网址为:http://blog.csdn.net/xingjiarong 网址还是非常清晰的就是cs

[python爬虫] Selenium爬取CSDN博客摘要及问题

本文主要是采用Selenium来爬取CSDN的博文摘要,为后面对CSDN的热点技术.近几年专家发表的博客作数据分析.由于采用BeautifulSoup爬取该网站会报错"HTTPError: Forbidden",所以作者采用Selenium爬取.同时,在爬取过程中遇到了局部动态更新的问题,无法定位换页的问题,作者采用Firebug进行分析,也希望读者提出更好的方法.代码下载地址: 一. CSDN博客网站分析及问题 本文主要爬取CSDN专家的博客,因为专家的论文水平相对高点,同时专栏较多

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

网上看到大神对Python爬虫爬到非常多实用的信息,认为非常厉害.突然对想学Python爬虫,尽管自己没学过Python.但在网上找了一些资料看了一下,看到爬取韩寒新浪博客的视频.共三集,第一节讲爬取一篇博客,第二节讲爬取一页博客.第三集讲爬取所有博客. 看了视频.也留下了代码. 爬虫第一步:查看网页源码: 第一篇博客的代码为蓝底的部分<a title="" target="_blank" href="http://blog.sina.com.cn/