IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 用python爬取网站小说,帮你们省下会费 -> 正文阅读

[Python知识库]用python爬取网站小说,帮你们省下会费

第一步:导库

import requests
from lxml import etree

第二步:请求头

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36',
    'Referer': 'http://www.xbiquge.la/7/7931/',
    'Cookie': '_abcde_qweasd=0; BAIDU_SSP_lcr=https://www.baidu.com/link?url=jUBgtRGIR19uAr-RE9YV9eHokjmGaII9Ivfp8FJIwV7&wd=&eqid=9ecb04b9000cdd69000000035dc3f80e; Hm_lvt_169609146ffe5972484b0957bd1b46d6=1573124137; _abcde_qweasd=0; bdshare_firstime=1573124137783; Hm_lpvt_169609146ffe5972484b0957bd1b46d6=1573125463',
    'Accept-Encoding': 'gzip, deflate'
}

请求头的内容获取:F12键进入开发者模式,步骤如下图所示(未出现网站信息刷新一下页面就可以了)

?

第三步:获取网站源码

def get_text(url, headers):
    response = requests.get(url, headers=headers)
    response.encoding = 'utf-8'
    return response.text

部分网站编码是gbk,gb2312等,可以这样查看网页编码,按F12键

?

第四步:获取小说信息

def get_novelinfo(list1, name_list):
    for i, url in enumerate(list1):
        html = etree.HTML(get_text(url, headers))
        name = name_list[i]  # 书名
        title_url = html.xpath('//div[@id="list"]/dl/dd/a/@href')
        title_url = ['http://www.xbiquge.la' + i for i in title_url]  # 章节地址
        titlename_list = html.xpath('//div[@id="list"]/dl/dd/a/text()')  # 章节名字列表
        get_content(title_url, titlename_list, name)

第五步:获取小说每章节内容

def get_content(url_list, title_list, name):
    for i, url in enumerate(url_list):
        item = {}
        html = etree.HTML(get_text(url, headers))
        content_list = html.xpath('//div[@id="content"]/text()')
        content = ''.join(content_list)
        content=content+'\n'
        item['title'] = title_list[i]
        item['content'] = content.replace('\r\r', '\n').replace('\xa0', ' ')
        print(item)
        with open(name + '.txt', 'a+',encoding='utf-8') as file:
            file.write(item['title']+'\n')
            file.write(item['content'])

第六步:获取小说主页信息

def main():
    base_url = 'http://www.xbiquge.la/xiaoshuodaquan/'
    html = etree.HTML(get_text(base_url, headers))
    novelurl_list = html.xpath('//div[@class="novellist"]/ul/li/a/@href')
    name_list = html.xpath('//div[@class="novellist"]/ul/li/a/text()')
    get_novelinfo(novelurl_list, name_list)


if __name__ == '__main__':
    main()

下面是爬取的结果:

?

?

运行后会在左侧生成一个文本文档:

同时可以在本地查看生成的文本:

?一个完整的爬虫就到此结束了。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-05 17:18:30  更:2021-08-05 17:19:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 10:24:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码