零基础学Python-爬虫-2、scrapy框架(测试案例篇·技术点在后面文章内讲解)【测试将一篇小说的所有访问路径与标题存储到

举报
红目香薰 发表于 2022/01/31 23:35:54 2022/01/31
【摘要】 ​本套课程正式进入Python爬虫阶段,具体章节根据实际发布决定,可点击【python爬虫】分类专栏进行倒序观看:【重点提示:请勿爬取有害他人或国家利益的内容,此课程虽可爬取互联网任意内容,但无任何收益,只为大家学习分享。】开发环境:【Win10】开发工具:【Visual Studio 2019】Python版本:【3.7】1、scrapy框架介绍·【由于“厂子”里基本都用这个所以咱们就讲这...

本套课程正式进入Python爬虫阶段,具体章节根据实际发布决定,可点击【python爬虫】分类专栏进行倒序观看:

【重点提示:请勿爬取有害他人或国家利益的内容,此课程虽可爬取互联网任意内容,但无任何收益,只为大家学习分享。】

开发环境:【Win10】

开发工具:【Visual Studio 2019】

Python版本:【3.7】

1、scrapy框架介绍·【由于“厂子”里基本都用这个所以咱们就讲这个】。

Scrapy:Python的爬虫框架

Scrapy是一个使用Python编写的,轻量级的,简单轻巧,并且使用起来非常的方便。

Scrapy框架主要由5大组件组成,它们分别是:

调度器:抓取网页的网址(链接)的优先队列

下载器:抓取网页的网址(链接)的优先队列

爬虫:用于从特定的网页中提取自己需要的信息

实体管道:用于处理爬虫提取的实体

Scrapy引擎:用来控制调试器、下载器和爬虫

注:这根本不是个单词啊.scrape的音标是:[skreɪp],scrapy最后的字母y应该发i还是ai?既然是python框架,是不是应该发ai?

所以。。。。个人趋向于读:【思科rai皮】

2、scrapy框架安装·【2021年2月14日当前最新版本:2.4.1】

3、scrapy框架使用·创建【scrapy】项目:

环境变量设置1、添加变量:

环境变量设置2、添加变量到【Path】中【%PY_S%】:

测试是否成功:在任何地方都可以使用【scrapy命令】

项目创建:我的测试地址【E:\save\study\python\T2】

通过vs打开项目:

后续有步骤就点完成即可,如果报错就点确定关闭就行了,项目已经创建完毕哦。

4、项目测试:

功能简介:

爬虫项目的工程目录及各个组成的作用:

scrapy.cfg:项目配置文件。

settings.py:项目设置文件。

pipelines.py:项目管道文件,主要用于对Items定义的数据进行加工与处理。

middlewares.py:项目的中间件文件。

items.py:项目的数据容器文件,用于定义获取的数据。

__init__.py:初始化文件。

spiders目录:爬虫目录,例如,创建文件、编写爬虫解析规则等

4.1、创建爬虫文件:【book_scrapy.py】

4.2、编写爬虫文件:

import scrapy
import json
from scrapy.selector import Selector

class book_scrapy(scrapy.Spider):
	#用于区别Spider
    name = "book_scrapy"
    #允许访问的域
    allowed_domains = ["book.zongheng.com"]
    #爬取的地址
    start_urls = ["http://book.zongheng.com/showchapter/1013348.html"]

    #爬取方法
    def parse(self, response):
        html=response.text
        sel=Selector(text=html)
        list1=sel.css("ul:nth-child(2) a::attr(href)").extract()
        list2=sel.css("ul:nth-child(2) a::text").extract()
        file=open("save.txt","w+",encoding='utf-8')
        item=[]
        for x in range(len(list1)):
            item.append({"title":list2[x],"url":list1[x]})
        print(str(item))
        file.write(str(item))
        file.close()

4.3、测试是否成功

输入执行命令:【scrapy crawl book_scrapy --nolog】

 打印效果:

存储效果: 


5、总结:

a)、从这篇文章里可以看到一些新的东西了,例如:json、css选择器,这些知识点会在后面的课程里单独讲解。

欢迎【点赞】、【评论】、【关注】、【收藏】、【打赏】,为推广知识贡献力量。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。