前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python爬取公众号链接里面的图片

python爬取公众号链接里面的图片

作者头像
@莜莜
修改2021-03-29 14:33:13
1.4K0
修改2021-03-29 14:33:13
举报
文章被收录于专栏:爬小虫

在python爬虫项目中,更换ip的场景是经常的事情,这个时候代理ip就派上用场了,国内关于爬虫的代理IP服务提供商也是多如牛毛。

那么如何选择一个合适的IP代理商呢,最直接的答案就是“多测试”,最近小编找了个代理平台,目前有活动可以免费领取1w代理IP,有需要的小伙伴可以扫码测试下,看看效果如何。

网络聊天中,为了做一个欢乐的逗比,表情包是少不了的,小编无意间看到一个提供逗比表情包的公号,看着里面的表情数不胜数于是就想下载下来,所以就有这篇文章。

话不多说,步入今天文章的分享内容,今天给大家带来的是~~爬取微信公众号文章里面的图片。

爬虫代码:

代码语言:javascript
复制

# coding:utf-8
# __auth__ = "maiz"
# __date__ = "2021/3/27"
import os
import requests
from bs4 import BeautifulSoup
import datetime
import os
# url = input("请输入url:")
url='https://mp.weixin.qq.com/s/GGw4MKXd-9bx6ty14-XXew'#获取连接
curr_time = datetime.datetime.now()#获取系统时间
print(curr_time)#打印时间 测试用
headers = {
    'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1'}# 'cookie': 'tvfe_boss_uuid=4427f26b6d83d5d7; pgv_pvid=8192465356; pgv_pvi=2750494720; RK=cfw14pvSFY; ptcz=026939cd8bdd917551be81f3d0d2563bdb9e2d0805f4c83de8df0ea6af457e49; eas_sid=i1e690x1l8v2I68559J4e8K995; LW_sid=W1C6S0u1y8a2A6E864o8L480Z0; LW_uid=51H6V041L8i2n6Q8M4S8e4k0D0; uin_cookie=o0878530130; ied_qq=o0878530130; o_cookie=878530130; pac_uid=1_878530130; luin=o0878530130; lskey=000100000f95a236a0b3f6a309a1f6e4809612024104f9a476a9b0803995ce53ec225971d5d95f3164c7df7a; rewardsn=; wxtokenkey=777'}
path = datetime.datetime.strftime(curr_time, '%Y%m%d%H%M')#将时间格式化为字符生成时间戳到时候给文件夹命名用
print(path)
if os.path.exists(path):#检查是否存在这个文件夹
    print("属于这个时间点的文件夹已经创建好")
else:
    os.mkdir(path)#不存在则创建
    print("创建成功!!!!正在保存图片")
dirname = os.getcwd() + '\\' + path + '\\'#获取当前工作目录并加上之前的时间生成文件夹路径
req = requests.get(url=url, headers=headers).content.decode()#向刚才输入的公众号链接里面发送请求
soup = BeautifulSoup(req, 'lxml')#用BeautifulSoup解析网页
res = soup.select('img')#获取该网页中所有的图片标签
a = 0
for i in res:#遍历所有的图片标签
    if i.get("data-src") == None:#如果这个标签内的data-src等于空的时候直接跳过
        pass
    else:#否则获取data-src里面的内容获取图片链接
        print(f'链接:{i.get("data-src")}类型为:{i.get("data-type")}')
        try:#尝试去保存图片 如果保存图片错误则抛出异常
            with open(dirname + f'{a}.{i.get("data-type")}', 'wb') as f:#拼接路径+a.jpg a是等于数字 每添加一个 a自增一 相当于是给图片命名 并且以二进制的形式写入
                f.write(requests.get(url=i.get("data-src"), headers=headers).content)#向这个图片发送请求 并将图片的二进制写入
                f.close()#关闭写入
                a = a + 1#a自增一
        except Exception as e:#抛出异常 增加程序强壮性
            print("该链接为空自动跳过!")
print(f"此次一共成功保存图片{a}张")

右击运行代码,即可成功爬取链接内所有的公众号图片,爬取的内容会根据本地时间生成一个文件夹,图片存放在文件夹内。代码获取后台回复:”公众号图片下载“。

以上就是今天给大家分享的内容。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
内容识别
内容识别(Content Recognition,CR)是腾讯云数据万象推出的对图片内容进行识别、理解的服务,集成腾讯云 AI 的多种强大功能,对存储在腾讯云对象存储 COS 的数据提供图片标签、图片修复、二维码识别、语音识别、质量评估等增值服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档