欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

小说免费看!python爬虫框架scrapy 爬取纵横网

程序员文章站 2022-03-25 16:20:55
前言 文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者: 风,又奈何 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun 准备 python3 scrapy 项目创建: ......

 

 

小说免费看!python爬虫框架scrapy 爬取纵横网

前言

文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者: 风,又奈何

ps:如有需要python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/a6zvjdun

准备

  • python3
  • scrapy

项目创建:

cmd命令行切换到工作目录创建scrapy项目 两条命令 scarpy startproject与scrapy genspider 然后用pycharm打开项目

d:\pythonwork>scrapy startproject zongheng
new scrapy project 'zongheng', using template directory 'c:\users\11573\appdata\local\programs\python\python36\lib\site-packages\scrapy\templates\project', created in:
    d:\pythonwork\zongheng
​
you can start your first spider with:
    cd zongheng
    scrapy genspider example example.com
​
d:\pythonwork>cd zongheng
​
d:\pythonwork\zongheng>cd zongheng
​
d:\pythonwork\zongheng\zongheng>scrapy genspider xuezhong http://book.zongheng.com/chapter/189169/3431546.html
created spider 'xuezhong' using template 'basic' in module:
  zongheng.spiders.xuezhong

确定内容

首先打开网页看下我们需要爬取的内容

小说免费看!python爬虫框架scrapy 爬取纵横网

其实小说的话结构比较简单 只有三大块 卷 章节 内容

因此 items.py代码:

小说免费看!python爬虫框架scrapy 爬取纵横网

内容提取spider文件编写

还是我们先创建一个main.py文件方便我们测试代码

小说免费看!python爬虫框架scrapy 爬取纵横网

然后我们可以在spider文件中先编写

小说免费看!python爬虫框架scrapy 爬取纵横网

运行main.py看看有没有输出

发现直接整个网页的内容都可以爬取下来,说明该网页基本没有反爬机制,甚至不用我们去修改user-agent那么就直接开始吧

打开网页 f12查看元素位置 并编写xpath路径 然后编写spider文件

需要注意的是我们要对小说内容进行一定量的数据清洗,因为包含某些html标签我们需要去除

 

小说免费看!python爬虫框架scrapy 爬取纵横网

有时候我们会发现无法进入下个链接,那可能是被allowed_domains过滤掉了 我们修改下就可以

唉 突然发现了到第一卷的一百多章后就要vip了 那我们就先只弄一百多章吧 不过也可以去其他网站爬取免费的 这次我们就先爬取一百多章吧

内容保存

接下来就是内容的保存了,这次就直接保存为本地txt文件就行了

首先去settings.py文件里开启 item_pipelines

然后编写pipelines.py文件

小说免费看!python爬虫框架scrapy 爬取纵横网

由于选址失误导致了我们只能爬取免费的一百多章节,尴尬,不过我们可以类比运用到其他网站爬取全文免费的书籍

怎么样 使用scrapy爬取是不是很方便呢

小说免费看!python爬虫框架scrapy 爬取纵横网

如果你处于想学python或者正在学习python,python的教程不少了吧,但是是最新的吗?说不定你学了可能是两年前人家就学过的内容,在这小编分享一波2020最新的python教程。获取方式,私信小编 “ 资料 ”,即可免费获取哦!