Scrapy爬虫框架入门案例入门demo

本实例比较简单,附代码,可以直接运行爬取

爬取网站:

https://www.liaoxuefeng.com/wiki/1016959663602400
这是廖雪峰老师的官方网站,我们爬取左侧的目录
在这里插入图片描述

运行所需的环境:

python3
anaconda
scrapy

具体步骤:

1.打开cmd命令行,输入scrapy startproject liaoxuefeng

然后得到如下输出
在这里插入图片描述
然后我们输入cd liaoxuefeng,进入到目录中,然后先放着。

2.打开项目中的liaoxuefeng/liaoxuefeng/spiders目录,然后在spiders目录下创建一个新文件命名为liaoxuefeng.py,在其中写入如下代码:
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)
        #这个没什么说的了,直接遍历,然后打印标题。
3.然后再进入cmd中,前面已经进入到目录中了,然后我们输入命令scrapy crawl lxf,这里的lxf是自己定义的name,需要与上面代码中的name一致

在这里插入图片描述
运行成功,将打印当页所有的目录名称:
在这里插入图片描述

文章到这里就结束了,喜欢的小伙伴可以右上角点个赞,谢谢

参考文章:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值