中的图片在python爬虫项目中,换IP的场景是常有的事。这时候代理IP就派上用场了。国内也有很多爬虫的代理IP服务商。那么如何选择合适的IP代理呢?最直接的答案是“多次测试”。最近,小编找到了一个代理平台。目前有活动可以免费领取1w代理IP。需要的朋友可以扫码测试,来看看它是如何工作的在线聊天中,为了进行愉快有趣的比较,表情符号是必不可少的。小编无意中看到了一个提供搞笑表情包的公众号。看到里面无数的表情包,就想下载下来,于是就有了这篇文章。话不多说,进入今天文章的分享内容,今天给大家带来的是~~微信公众号文章里的图片爬取。爬虫代码:#coding:utf-8#__auth__="maiz"#__date__="2021/3/27"importosimportrequestsfrombs4importBeautifulSoupimportdatetimeimportos#url=input("Pleaseenterurl:")url='https://mp.weixin.qq.com/s/GGw4MKXd-9bx6ty14-XXew'#获取连接curr_time=datetime.datetime.now()#获取系统时间print(curr_time)#打印时间testheaders={'user-agent':'Mozilla/5.0(iPhone;CPUiPhoneOS11_0likeMacOSX)AppleWebKit/604.1.38(KHTML,likeGecko)Version/11.0Mobile/15A372Safari/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;卢因=o0878530130;lskey=000100000f95a236a0b3f6a309a1f6e4809612024104f9a476a9b0803995ce53ec225971d5d95f3164c7df7a;奖励n=;wxtokenkey=777'}path=datetime.datetime.strftime(curr_time,'%Y%m%d%H%M')#将时间格式化成字符生成时间戳然后用print(path)命名文件夹ifos.path.exists(path):#检查这个文件夹是否存在print("属于这个时间点的文件夹已经创建")else:os.mkdir(path)#如果不存在则创建print("创建成功!!!!正在保存Picture")dirname=os.getcwd()+''+path+''#获取当前工作目录加上之前生成文件夹路径req=requests.get(url=url,headers=headers).content.decode()#向刚刚进入的公众号链接发送请求soup=BeautifulSoup(req,'lxml')#使用BeautifulSoup解析网页res=soup.select('img')#获取图片中的所有图片标签webpagea=0foriinres:#遍历所有图片标签ifi.get("data-src")==None:#如果这个标签中的data-src等于空,直接跳过passelse:#Otherwisegetdata-src中的内容获取图片链接print(f'link:{i.get("data-src")}typeis:{i.get("data-type")}')try:#尝试保存图片如果保存图片出错,会抛出异常withopen(dirname+f'{a}.{i.get("data-type")}','wb')asf:#拼接路径+a.jpga等于每增加一个数,自增一次,相当于给图片命名,以二进制形式写入f.write(requests.get(url=i.get("data-src"),headers=headers).content)#to这张图片发送请求,将图片的二进制写入f.close()#关闭并写入a=a+1#a自增exceptExceptionase:#扔增加程序健壮性的异常print("链接为空自动跳过!")print(f"本次共保存{a}张图片")右键运行代码,就可以成功爬取链接中所有的公众号图片。爬取的内容会根据本地时间生成文件夹,图片会存放在文件夹中。代码获取后台回复:“公众号图片下载”。以上就是我今天要和大家分享的内容。
