抓取霹雳轻小说爬虫代码

今天花了一天写的一个爬虫小程序

# -*- coding: utf-8 -*-
# @Time    : 2020/5/9 19:03
# @Author  : 贺林森
# @FileName:  抓取霹雳轻小说
# @Software: PyCharm
# @Email : 505384662@qq.com

import requests
import re
import os

headers = {
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, "
                  "like Gecko) Chrome/81.0.4044.138 Safari/537.36"
}


def get_catalogue(url):
    # 发送请求
    response = requests.get(url=url, headers=headers)
    response.encoding = "utf-8"
    chapter_info_list = []
    if response.status_code == 200:
        li_list = re.findall(r"<li class=.*</li>", response.text)
        for li in li_list:
            # print(li)
            result = re.search(r'href="(.*?)">(.*?)<', li)
            if result:
                chapter_url = "https://www.linovelib.com" + result.group(1)
                title = result.group(2)
                chapter = {"title": title, "url": chapter_url}
                chapter_info_list.append(chapter)
    print(chapter_info_list)
    return chapter_info_list


def get_content(chapter_info_list):
    for chapter_info in chapter_info_list:
        response = requests.get(url=chapter_info["url"], headers=headers)
        if response.status_code == 200:
            if os.path.exists("霹雳轻小说"):
                pass
            else:
                os.makedirs("霹雳轻小说")
            content_list = re.findall(r"<p>(.*?)</p>", response.content.decode("utf8"))[1:-1]
            with open("./霹雳轻小说/" + chapter_info["title"] + ".txt", "w", encoding="utf8") as file:
                for content in content_list:
                    file.write(content + "\n")


if __name__ == "__main__":
    get_content(get_catalogue("https://www.linovelib.com/novel/2834/catalog"))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值