用python“爬”一篇小说
admin
2023-07-23 15:42:32
0

需要你的python安装有requests模块,如果没有安装可执行如下命令安装

pip3 install requests

以最近比较火的小说“魔道祖师”为例。

下面是整个脚本

import requests,re

def get_content(url,timeout=10):
    req = requests.get(url=url,timeout=timeout)
    return req.text

def get_title(html,re_title):
    ret = re_title.search(html)
    if ret:
        ret = ret.group()
        tmp = ret.split('_')[0]
        tmp = tmp.replace('','')
        tmp = tmp.strip()
        return tmp

def get_body(html,ret_body):
    ret_body = re_body.search(html)
    if ret_body:
        ret = ret_body.group()
        tmp = re_clear_header.sub(r'\2',ret)
        tmp = tmp.replace(r' ',' ').replace(r'<br /><br />','\n').replace(r'<br />','\n')
        tmp = tmp.replace(r'2k小说阅读网</p>','\n\n')
        return tmp

if __name__ == '__main__':
    mdzs = open('mdzs.txt','w')
    re_title = re.compile(r'<title>(.*?)')
    re_body = re.compile(r'(.*?)

',re.S)     re_clear_header = re.compile(r'(.*)(.*)',re.S)     first_page = 19613532     for i in range(116):         page = first_page + i         url = r'https://www.2kxs.com/xiaoshuo/96/96717/{}.html'.format(page)         try:             html = get_content(url)             title = get_title(html,re_title)             mdzs.write(title + '\n\n')             body = get_body(html,re_body)             mdzs.write(body)             print('{} is success'.format(url))         except Exception as e:             print('url :{} , error: {}'.format(url,e))

该网站是小说网站,排版和网页的url比较有规律性,所以实现起来比较简单


相关内容

热门资讯

摇晃的致命球体,逼退“世界第一... 美国和伊朗在瑞士比尔根山举行谈判并达成协议前夕,被视作美伊冲突“风暴眼”的霍尔木兹海峡仍然动荡不安。...
日菲胆敢非法“划界”,必将自食... 近日,日本与菲律宾发表联合声明,宣布正式启动日菲间专属经济区和大陆架的划界谈判。这场以“海洋划界”为...
特朗普和美议员爆发争吵,激烈互... 美国国会参议院6月23日通过一项限制总统战争权力的决议,特朗普对此十分不满。他24日造访国会时,与共...
苏丹中部霍乱疫情严峻,一个多月... 当地时间6月24日,世界卫生组织总干事谭德塞表示,苏丹中部西科尔多凡州霍乱疫情持续蔓延。自5月15日...
他或成英国新首相,特朗普表态 英国首相斯塔默日前宣布辞职,他的继任者极有可能是前大曼彻斯特市长、议员伯纳姆。美国总统特朗普近来与斯...
人民日报钟声:急修“安保三文件... 急修“安保三文件”,暴露日本加速军事转轨的急躁姿态(钟声)《人民日报》(2026年06月25日 第 ...
小伙凌晨酒店按摩从房间坠亡,酒... 一名“00后”小伙与同事聚餐饮酒后,凌晨前往一酒店接受按摩,却从酒店房间坠楼身亡。据酒店相关负责人以...
内塔尼亚胡称只要其在任以军就不... △内塔尼亚胡(资料图)当地时间24日,以色列总理内塔尼亚胡在以色列地方政府联合会上发表讲话,谈及以军...
瑞士谈判核心诉求为何?议长会否... 美伊瑞士谈判刚刚结束,双方对谅解备忘录各执一词。我在伊朗外交部新闻发布会现场提问:从瑞士谈判到阿曼磋...
鲁比奥:美伊本月底将继续技术磋... △鲁比奥(资料图)24日多方消息显示,美国国务卿鲁比奥表示,美国和伊朗技术团队将于6月底在瑞士继续举...