吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3190|回复: 12
收起左侧

[Python 转载] python爬取龙王传说小说

  [复制链接]
丩豪丩 发表于 2019-11-25 10:27
最近在学习python,想相互讨论讨论,小白贴,高手可以不用看了
因为本人平时喜欢看小说,所以学爬虫的时候首先想到的就是爬小说网站
要爬取的网址:https://www.bxwxorg.com/read/42/
首先分析第一章和第二章,在chrome浏览器页面检查
1.png 2.png
发现章节规律仅仅是一个数字偏移量的区别 https://www.bxwxorg.com/read/42/865676.htmlhttps://www.bxwxorg.com/read/42/865677.html
接下来则是分析章节的内容
image.png
发现章节内容都是在p节点里面,所以利用BeautifulSoup很方便的获取整个章节的文字内容,然后保存成txt文件则完成了当前章节的爬取,由于不同章节只是一个偏移量的区别,所以只要我们做一个for循环则很方便的获取到所有的章节信息了,最后爬取完成之后发现头尾有些不想要的内容“www.bxwxorg.comNoneNone”,“喜欢斗罗大陆III龙王传说请大家收藏:(www.bxwxorg.com)斗罗大陆III龙王传说笔下文学更新速度最快。NoneNoneNoneNone 本站所有小说为转载作品,所有章节均由网友上传,转载至本站只是为了宣传本书让更多读者欣赏。None”,我是直接用字符串的方法来去头去尾了,估计有更好的方法我不知道,毕竟是个初学者,有些便捷的方法可能还不知道。
以下是我写的代码,功能可以实现了,但是我知道的都还有很多可以优化的地方,但不打算优化了,毕竟只是一个学习过程中的小程序而已,希望能对同样在学习的人有帮助吧。
以下为代码:

import requests
from bs4 import BeautifulSoup
import re

def down_one_page(url):
    headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36'
    }
    respond = requests.get(url,headers=headers)
    if(respond.status_code == 200):
        return respond.content.decode()
    return 'err'

print('龙王传说下载1-1984\n')
begin = int(input('开始章节: '))
end = int(input('结束章节: ')) + 1

text = ''
#循环爬取各个章节
for i in range(begin,end):
    url = 'https://www.bxwxorg.com/read/42/' + str(i+865675) + '.html'
    html = down_one_page(url)

#获取章节正文内容
    soup = BeautifulSoup(html,'lxml')
    results = soup.find_all(name = 'p')
    for result in results:
        text += str(result.string)

#去除头尾不想要的字符串
    text = text.lstrip('www.bxwxorg.comNoneNone')
    text = text.rstrip('喜欢斗罗大陆III龙王传说请大家收藏:(www.bxwxorg.com)斗罗大陆III龙王传说笔下文学更新速度最快。NoneNoneNoneNone 本站所有小说为转载作品,所有章节均由网友上传,转载至本站只是为了宣传本书让更多读者欣赏。None')

#用正则方式取章节名
    name = re.findall('.*&gt; (.*?)<script>textsel',html,re.S)
    with open(name[0]+'.txt','w') as f:
        f.write(text)
#输出完成进度
    print('完成 '+ name[0])
    text = ''


源代码和封装好的exe放到百度网盘里,需要的自取
链接:https://pan.baidu.com/s/1M5xMfBNg5-QdHlpFBc_-Wg
提取码:3dtb
不知道为什么封装出来的exe会报毒,但实际上是没有病毒的,添加一下信任即可,或者自己用源代码来封装也行。

免费评分

参与人数 4吾爱币 +4 热心值 +4 收起 理由
自成魔遁入地狱 + 1 + 1 用心讨论,共获提升!
klsfp + 1 + 1 大佬,那种随机的章节怎么弄啊
念所不及 + 1 + 1 用心讨论,共获提升!
坐久落花多 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

念所不及 发表于 2019-11-25 22:03
Traceback (most recent call last):
  File "D:\Python\lib\requests\__init__.py", line 55, in <module>
    assert minor <= 22
AssertionError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "G:\python\lwcs\lwcs.py", line 1, in <module>
    import requests
  File "D:\Python\lib\requests\__init__.py", line 57, in <module>
    raise RuntimeError('Requests dependency \'urllib3\' must be version >= 1.21.1, < 1.22!')
RuntimeError: Requests dependency 'urllib3' must be version >= 1.21.1, < 1.22!
 楼主| 丩豪丩 发表于 2019-11-25 13:52
hfxiang 发表于 2019-11-25 11:04
源码测试出错:
bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: l ...

帮你查了一下,他们说是这个问题,具体你可以试试,我用的是python3.7

https://blog.csdn.net/qq_34215281/article/details/77714584
yhtg 发表于 2019-11-25 10:47
hfxiang 发表于 2019-11-25 11:04
源码测试出错:
bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?
 楼主| 丩豪丩 发表于 2019-11-25 11:50
本帖最后由 丩豪丩 于 2019-11-25 11:51 编辑
hfxiang 发表于 2019-11-25 11:04
源码测试出错:
bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: l ...

你是没有安装BeautifulSoup的库吧?  pip install beautifulsoup4
念所不及 发表于 2019-11-25 15:11
File "C:\Users\Administrator\Desktop\lwcs\lwcs.py", line 1, in <module>
    import requests
ModuleNotFoundError: No module named 'requests'测试代码爆了这个错误 原因是少了这个模块 各位大佬解释一下
hfxiang 发表于 2019-11-25 17:04
丩豪丩 发表于 2019-11-25 13:52
帮你查了一下,他们说是这个问题,具体你可以试试,我用的是python3.7

https://blog.csdn.net/qq_3421 ...

正解
我的也是3.7,你这个方法已让我解决了问题,谢谢
Unn 发表于 2019-11-25 22:26
在自学,尝试尝试
MOEYU_VANILLA 发表于 2019-11-26 00:01
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 17:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表