通过python爬虫爬取图片,并通过企业微信机器人发送图片至企业微信群
生活随笔
收集整理的這篇文章主要介紹了
通过python爬虫爬取图片,并通过企业微信机器人发送图片至企业微信群
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
最近學(xué)習(xí)了一點(diǎn)爬蟲,就想著能不能通過(guò)企業(yè)微信的機(jī)器人發(fā)送一些圖片到微信群中。企業(yè)微信機(jī)器人說(shuō)到底就是一個(gè)webhook地址,你也可以看成一個(gè)URL,而利用企業(yè)微信機(jī)器人發(fā)送圖片實(shí)則就是向服務(wù)器發(fā)送post請(qǐng)求,再將響應(yīng)數(shù)據(jù)發(fā)送到webhook地址,以下是我爬取 彼岸圖網(wǎng)(http://pic.netbian.com)的python爬蟲代碼,使用的是強(qiáng)大的requests庫(kù)(scrapy框架還不太會(huì)用,就不用了)
import requests from bs4 import BeautifulSoup import os,re,time,hashlib,base64head = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' } start_urls = [] #定義一個(gè)url列表 for i in range(1,1000):if(i==1): url = 'http://pic.netbian.com/index.html' #判斷是否為首頁(yè),并加入url列表中start_urls.append(url)else:url = 'http://pic.netbian.com/index_'+str(i)+'.html' #判斷是否為非首頁(yè),并加入url列表中start_urls.append(url) i = 1 #為了將圖片每二十張放入到不同的文件夾 url1='https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx' #自己的webhoook地址 for url in start_urls: #將url列表url依次取出response = requests.get(url) #向服務(wù)器發(fā)出get請(qǐng)求,獲得響應(yīng)response.encoding='gbk' #設(shè)置響應(yīng)的編碼格式為GBKhtml = response.text #獲得相應(yīng)的文本信息soup = BeautifulSoup(html,'lxml') #通過(guò)beautifulsoup庫(kù)中的lxml HTML 解析器提取數(shù)據(jù)result = soup.find('ul',class_="clearfix").find_all('img') #找到<img>標(biāo)簽root = 'D:/page/SpiderImgs/imgs-'+str((i//20)+1)+'/' #拼接保存的路徑 根據(jù)自己要保存的路徑替換for img in result:path = root + img['src'].split('/')[-1] #獲取圖片資源名稱(http://pic.netbian.com/uploads/allimg/190824/212516-1566653116f355.jpg中的212516-1566653116f355.jpg)并拼接保存路徑url = 'http://pic.netbian.com'+img['src'] #拼接圖片的urlr = requests.get(url, headers=head) #發(fā)送get請(qǐng)求圖片資源if not os.path.exists(root): #判斷文件夾是否存在os.makedirs(root) #創(chuàng)建新的文件夾else:with open (path,'wb+') as f: #創(chuàng)建一個(gè)文件以二進(jìn)制寫f.write(r.content) #將請(qǐng)求服務(wù)器圖片資源的響應(yīng)結(jié)果寫進(jìn)文件中f.close()print("圖片 "+str(i)+".jpg 保存成功")try:with open(path,'rb') as f: #以讀二進(jìn)制的方式打開文件base64_data = base64.b64encode(f.read()).decode() #獲取base64編碼file = open(path,'rb') md = hashlib.md5()md.update(file.read())res1 = md.hexdigest() #獲取圖片內(nèi)容的md5值data = {"msgtype" : 'image',"image":{"base64":base64_data,"md5":res1}} #JSON數(shù)據(jù)格式t = requests.post(url1, headers=head, json=data) #發(fā)送post請(qǐng)求except:print("異常")print('\n')i = i + 1 #文件夾名稱加一time.sleep(3) #讓程序睡3秒以上代碼有任何問(wèn)題或不懂可在評(píng)論區(qū)留言,
總結(jié)
以上是生活随笔為你收集整理的通过python爬虫爬取图片,并通过企业微信机器人发送图片至企业微信群的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 计算机office比赛,Office智慧
- 下一篇: python 批量修改文件名_Pytho