吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5291|回复: 39
收起左侧

[Python 转载] 【python】记小白的第二次爬小说【138看书网】

  [复制链接]
tuhaojun 发表于 2020-9-21 03:12
本帖最后由 tuhaojun 于 2020-9-21 16:50 编辑

记录一下今天爬的第二个小说网,第二次弄起来比较熟练了,不像第一次弄一半就得找教程边看边搞。
但实际上爬小说应该是最简单的事情了吧,涉及的技术也没有那么深。
把代码发出来让想刚入门却不知道从何下手的同萌新们看看吧,看教程总是云里雾里的,还是还得上手多练练才能加深印象。
这个小说爬虫还是有点垃圾,多线程没有,而且有些函数也是用的跟*一样,这玩意该怎么改进也没有头绪。
希望有大佬能指点一下

[Python] 纯文本查看 复制代码
import requests
import re
 
headers = {
 
    'user-agent': 'User-AgentMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'
}
print ('本脚本仅适用于138看书网:https://www.13800100.com/')
#url_list = 'https://www.13800100.com/list/51047/'
url_list = (input('粘贴小说目录url,必须是小说目录,小说首页不支持\n'))
downurl = 'https://www.13800100.com/article/'
url_list = requests.get(url_list)
text_list = url_list.text
 
#爬小说书名
 
text_title = re.findall(r'<div class="cate-tit">(.*?)</h2>',text_list,re.S)[0]
text_title = text_title.replace('\r\n','')
text_title = text_title.replace('<h2>','')
text_title = text_title.replace(' ','')
 
#爬小说目录列表
 
text_list_info = re.findall(r'<div class="bd">.*?</div>',text_list,re.S)[0]
text_list_info = re.findall(r'<a href="/article/(.*?)" class="name">(.*?)</a>',text_list)
 
for i in text_list_info:
 
#每章小说的url和每章章名
     
    list = i[0]
    name = i[1]
    download = downurl + list
    download_info = requests.get(url = download,headers=headers)
    html=download_info.text
    html_info = re.findall(r'<div class=".*?">(.*?)</div>',html,re.S)[0]
    html_info = html_info.replace ('                                                ','')
    html_info = html_info.replace ('<br/>',('\n'))
    html_info = html_info.replace (' '* 4,'')
    html_info = html_info.replace (' '* 2,'')
    print (name)
     
#输出为记事本
     
    with open ('%s.txt' % text_title,'a+',encoding = 'utf-8')as f:
        f.write('                                                '+ name + '\n')
        f.write('\n')
        f.write(html_info + '\n')
        f.write('\n')
print ('下载完成')


继续加油努力吧

----------------------------------------------------------------------------------------------------关于脚本的说明-----------------------------------------------------------------------------------------------
脚本要求输入的url必须是小说的目录,而不是小说的首页
3.png

1.png

xspc.zip

917 Bytes, 下载次数: 71, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 5吾爱币 +4 热心值 +4 收起 理由
我在这儿 + 1 + 1 我很赞同!
liyiliang123 + 1 + 1 谢谢@Thanks!
hnwang + 1 + 1 我很赞同!
shiqiangge + 1 用心讨论,共获提升!
FuSu_ChunQiu + 1 热心回复!

查看全部评分

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

loliconRoot 发表于 2020-9-21 06:55
1.可以挑战一下非常适用于交互式的搜索功能
2.尝试通过识别URL支持输入小说的首页
3.尝试加入下载选中章节功能
4.尝试直接输入小说id功能
5.尝试追加更新功能
6.尝试追更功能
7.尝试加入通过域名识别来扩展支持不同的小说网站

免费评分

参与人数 1吾爱币 +1 收起 理由
netspirit + 1 每次在论坛看见新来的都是一语惊人啊

查看全部评分

 楼主| tuhaojun 发表于 2020-9-29 02:01
绫音 发表于 2020-9-28 18:24
为毛我下载只下载了目录标题  内容没下载

52破解的代码展示有点问题 不显示特殊字符
你把html_info函数改一下
    html_info = re.findall(r'<div ondragstart="return false" oncopy="return false;" oncut="return false;" oncontextmenu="return false" class=".*?">(.*?)</div>',html,re.S)[0]
    html_info = html_info.replace ('                                                ','')
    html_info = html_info.replace ('<br/>',('\n'))
    html_info = html_info.replace ('&nbsp;'* 4,'')
    html_info = html_info.replace ('&nbsp;'* 2,'')
haidao123 发表于 2020-9-21 05:26
jwpiaoi 发表于 2020-9-21 07:00
支持学习学习。
jiongjing 发表于 2020-9-21 07:51
感谢分享,学习一下
jiwuhui 发表于 2020-9-21 07:57
感谢分享,学习使我快乐
zhuobin_c 发表于 2020-9-21 08:35
学习了。就是感觉现在总沉不下心来做东西
diom 发表于 2020-9-21 08:41
感谢分享
EVANLEE 发表于 2020-9-21 08:44
其实我就想问,正则和Xpath,那个更好用?
yc0205 发表于 2020-9-21 08:49
感谢分享,正在试用,
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-25 04:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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