吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3902|回复: 20
上一主题 下一主题
收起左侧

[Python 转载] 爬虫整理花呗小说网lianxinw

  [复制链接]
跳转到指定楼层
楼主
liyitong 发表于 2022-4-17 10:49 回帖奖励
本帖最后由 liyitong 于 2022-4-17 10:56 编辑


这个网站的小说是这种样子的,也没有提供txt下载。
我的一个朋友想看,一次次点击很不方便 ,想让我帮忙下载个合集。我就写了个爬虫,整理到一个记事本中。
[Python] 纯文本查看 复制代码
import requests
from bs4 import BeautifulSoup as bsp
import time
list_links=[]
list_biaoti=[]
list_neirong=[]
file_name='save.txt'
url=r'http://www.lianxinw.com/book/64221/'
def get_links(url:str): #获取所有的链接
    qingqiu=requests.get(url=url)
    wangye=bsp(qingqiu.text, 'lxml')
    links=wangye.find_all('a', rel='chapter')
    for i in links:
        jieguo=i.get('href')
        if r'/' in jieguo:
            jieguo=jieguo.split(r'/')[-1]
        list_links.append(url+jieguo)
        list_links.sort()  #爬取时候不知道为什么没按顺序,也可能是解析时候python的异步处理导致的

def get_content(url: str): #从一个url中,获取正文
    #pipei=re.compile(r'<div id="content">(.*?)</div>')
    list_neirong.clear()
    qingqiu = requests.get(url=url)
    wangye = bsp(qingqiu.text, 'lxml')
    biaoti=wangye.find('h1').get_text('h1')
    list_biaoti.append(biaoti)
    jieguo= wangye.find('div', id="content")
    for i in jieguo.find_all('p'):
        list_neirong.append( i.get_text('p') )

def main():
    get_links(url)
    zongliang=len(list_links)
    dangqian=0
    with open(file_name, 'a', encoding='utf-8') as filesave:
        for url_neirong in list_links:
            dangqian=dangqian+1
            print("当前处理的网址:%s  进度:%%%.2f"%(url_neirong, dangqian/zongliang*100) )
            get_content(url_neirong)
            filesave.write('\n')  #换个行吧,好看点
            filesave.write(list_biaoti[dangqian-1])
            for i in list_neirong:
                filesave.write('\n')  #换个行吧,好看点
                filesave.write(i)
            time.sleep(0.8) #每次爬取一个章节后,暂停0.8秒
    filesave.close()

if __name__ == '__main__':
    main()


理论上这个网站的小说,只要换一下第8行代码中的url即可。

免费评分

参与人数 6吾爱币 +5 热心值 +6 收起 理由
luyuhao + 1 + 1 热心回复!
zkdashiqibo + 1 + 1 热心回复!
woaipojie210313 + 1 + 1 我很赞同!
beichen1031 + 1 谢谢@Thanks!
espper + 1 + 1 我很赞同!
AK0168 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

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

推荐
MyModHeaven 发表于 2022-4-17 12:02
Emoei_PG 发表于 2022-4-17 11:56
这个反爬是什么意思?就是不让你爬取的意思吗?

就是采取一些措施加大爬虫爬取内容的难度,常见的有通过 Headers 反爬虫、基于用户行为反爬虫、采用动态加载数据反爬虫等
沙发
beichen1031 发表于 2022-4-17 11:15
3#
Emoei_PG 发表于 2022-4-17 11:56
beichen1031 发表于 2022-4-17 11:15
爬多了,就会被反爬,还是在网页看吧

这个反爬是什么意思?就是不让你爬取的意思吗?
5#
doudouxiao 发表于 2022-4-17 12:28
Emoei_PG 发表于 2022-4-17 11:56
这个反爬是什么意思?就是不让你爬取的意思吗?

对的,就像淘宝的购物平台的验证到你是爬虫就不让你爬虫
6#
hackerbob 发表于 2022-4-17 13:02
Emoei_PG 发表于 2022-4-17 11:56
这个反爬是什么意思?就是不让你爬取的意思吗?

运用各种手段阻止爬取,比如 防盗链,加密,封访问频繁的ip
头像被屏蔽
7#
xiadongming 发表于 2022-4-17 15:18
提示: 作者被禁止或删除 内容自动屏蔽
8#
shiwowo 发表于 2022-4-17 16:36
楼主问一下这些代码 怎么用 要安装代码 然后保存为py文件就可以了吗
9#
Emoei_PG 发表于 2022-4-17 16:52
MyModHeaven 发表于 2022-4-17 12:02
就是采取一些措施加大爬虫爬取内容的难度,常见的有通过 Headers 反爬虫、基于用户行为反爬虫、采用动态 ...

懂了,谢谢解答!
10#
erui 发表于 2022-4-17 19:29
谢谢楼主分享,这个花呗小说网,使用移动宽带网的用户,打不开这个网站。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2023-3-23 02:11

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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