Python爬虫,爬取快看漫画每日更新模块

文章目录


前言

根据基本的爬虫知识,爬取快看漫画每日更新模块的漫画名,对应漫画的描述和对应的封面图片。


一、爬虫是什么?

爬虫是通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程。

二、使用步骤

1.引入库

代码如下:

import itertools
import requests

2.文件夹准备

在该程序下创建一个同级的image文件夹,用来存放下载的每日更新漫画封面图片。

3.将列表存储为txt格式文件

代码如下:

def listTxt(list, path):
    file = open(path, 'w', encoding='utf-8')
    for l in list:
        l = str(l) # 强制转换
        if l[-1] != '\n':
           l = l + '\n'
        file.write(l)
    flie.colse()
    print(f"{path}文件存储成功")

4.爬取每日更新页面具体代码:

代码如下:

# @ClassName 快看
# @Description TODO:(爬取《快看》漫画每日更新模块,每天按时爬取并保存到kkmh.txt文件中,并将爬取的图片保存到image文件夹中)
import itertools
import requests

# 将列表存储为txt格式文件
def listTxt(list, path):
    file = open(path, 'w', encoding="utf-8")
    for l in list:
        l = str(l)  # 强制转换
        if l[-1] != '\n':
            l = l + '\n'
        file.write(l)
    file.close()
    print(f"{path}文件存储成功")


# 图片下载
def download_img(url_info):
    num = 1
    # 遍历匹配成功的链接
    for img in url_info:
        print(img)
        response = requests.get(img)
        image = response.content
        # 将下载的图片保存到对应的文件夹中
        with open('./image/%s.jpg' % num, 'wb') as fb:
            fb.write(image)
            print("正在下载第%s张图片" % num)
            num = num + 1
    print("下载完成!")


# 接口
url = 'https://www.kuaikanmanhua.com/v2/pweb/daily/topics?pos=0'
# 常用请求头信息:
#     User-Agent:请求载体的身份标识
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.44"
}

# 获取页面的源码
response = requests.get(url=url, headers=headers)
code = response.json()['code']  # 获取状态码
if code == 200:
    topics = response.json()['data']['topics']
    # print(type(topics))
    titles = ["漫画名: " + topic['title'] for topic in topics]
    descriptions = ["描述: " + topic['description'].replace('\n', ' ') for topic in topics]
    image = [topic['vertical_image_url'] for topic in topics]
    download_img(image)
    # print(titles)
    # print(descriptions)
    kkmh = list(itertools.chain.from_iterable(zip(titles, descriptions)))  # list交替合并
    # print(kkmh)
    listTxt(kkmh, './kkmh.txt')
else:
    print("网页访问错误")

5.运行结果

下载成功的图片存入到了image文件夹中,漫画名和相应的描述存入了txt文件中。

注:1、由于是异步请求,所以没有使用BeautifulSoup进行解析。       

       2、 实现每日爬取这个功能,可以用宝塔面板中的“计划任务”功能,设置如下图。


总结

        以上就是今天我分享的内容,一个爬取快看漫画每日更新模块的简单教程。和大家一起进步呀!Fighting!!!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值