Python爬虫 - 简单的完整小说爬取

本文介绍了如何使用Python3的requests和lxml库在Windows环境下爬取完整小说。首先讲解了Web元素的审查方法和两个库的安装,接着详细阐述了目录爬取、小说章节爬取及整个小说爬取的步骤,包括请求页面、提取信息和数据保存到文件的过程。
摘要由CSDN通过智能技术生成

Python 爬虫爬取完整小说

Python版本: Python3.x

运行平台: Windows


前言

网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。。


提示:以下是本篇文章正文内容,下面案例可供参考

一、基础与环境

工欲善其事,必先利其器

1.1 Web元素

想要爬取网站的内容,必须要知道网站是怎么渲染出来的,这就需要知道Web元素在网页渲染中起到的作用(熟知者可跳过)

审查元素

如何才能知道一个网站有什么元素呢?

最方便也是最便捷的方式,快捷键 F12

摁下F12之后,浏览器显示页面如下图红框所示:
图1 - F12 后 审查元素
我们可以直观的看出

  1. 网站由一个个标签对构成
  2. 标签对中存在属性属性值

为了更直观的显示网站目录结构,可以点击 Sources(或资源) 一栏
如下图所示
图2 - 网站树形结构
我们可以很明显的看出,我们想要看见的,全部在标签对或属性值中出现。

1.2 Requests、lxml库的安装

网络爬虫的第一步就是根据URL,获取网页的HTML信息。
在Python3中,可以使用requests进行网页爬取。
使用lxml进行标签对的搜寻和提取

  • requests库和lxml库是第三方库,需要我们自己安装。

(1)Requests库和lxml库安装

为了加快安装速度,这里使用了清华的镜像

pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple


pip install lxml -i https://pypi.tuna.tsinghua.edu.cn/simple

(2)Requests库简单介绍

详细介绍看这里

requests库的基础方法如下:
request库方法
官方中文教程

(3)lxml库简单介绍

详细介绍看这里

lxml库搜索 标签属性值 的规则

表达式 描述
// 从当前节点选取子孙节点
/ 从当前节点选取直接子节点
@ 选取属性
[@attrib] 选取具有给定属性的所有元素
[@attrib=‘value’] 选取给定属性具有给定值的所有元素
text() 要选取的文本

lxml官方文档

二、使用步骤

分为目录爬取,小说章节爬取,完整小说爬取

2.1 目录爬取

2.1.1 使用Requests获取页面信息

代码如下:

import requests
url = "https://www.xbiquge.la/xiaoshuodaquan/"
response = requests.get(url)
response.encoding="utf-8"

html = response.text
print(html)

结果如下图所示
网页信息
我们所需要的部分信息:
需要的信息

2.1.2 使用lxml中的规则进行信息提取

代码如下:

import requests
import re
from lxml import etree
url = "https://www.xbiquge.la/xiaoshuodaquan/"
response = requests.get(url)
response.encoding="utf-8"

html = response.text
#ele
ele = etree.HTML(html)
book_names = ele.xpath("//div[@id='main']/div[@class='novellist']/ul/li/a/text()")
book_urls = ele.xpath("//div[@id='main']/div[@class='novellist']/ul/li/a/@href")
#s = ''
print(book_names[0])
print(book_urls[0
  • 53
    点赞
  • 390
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值