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

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

那么如何抉择一个适合的IP代理商呢,最间接的答案就是“多测试”,最近小编找了个代理平台,目前有流动能够收费支付1w代理IP,有须要的小伙伴能够扫码测试下,看看成果如何

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

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

爬虫代码:

# 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}张")

右击运行代码,即可胜利爬取链接内所有的公众号图片,爬取的内容会依据本地工夫生成一个文件夹,图片寄存在文件夹内。代码获取后盾回复:”公众号图片下载“。

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

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据