前言前几天开始的。我有一个朋友。他和喜欢的小姐姐聊天的时候,聊天的气氛总是很尴尬。这会儿他想发点表情缓和一下气氛,结果看了他收藏的表情包,都是这样的。.....发完这个基本上直接和我家小姐姐告别了,然后他就找我帮忙,问我有没有表情包。我没有表情符号包,但网站上有。来吧,爬虫已经搭建好了。分析页面今天爬的网站是斗图。有句话说,表情包真的很多。看完惊人的页数,是时候看看如何获??取表情包图片的url了。首先打开谷歌浏览器,然后点击F12进入爬虫开心模式,完成下图操作。先点击箭头1,然后选择一个表情包。红框内就是我们要爬取的对象,表情包的src就在里面。现在我们想通了如何获取表情包的url,就开始写代码实现解析页面获取网页内容。这里是获取爬取的网页的信息。defaskURL(url):head={"User-Agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/91.0.4472.106Safari/537.36"}req=urllib.request.Request(url=url,headers=head)html=""try:response=urllib.request.urlopen(req)html=response.read()exceptExceptionasresult:print(result)返回html解析网页content#取出图片src的正则表达式imglink=re.compile(r'',re.S)defgetimgsrcs(url):html=askURL(url)bs=BeautifulSoup(html,"html.parser")names=[]srcs=[]#在bs.find_all('img')中查找item的所有img标签:item=str(item)#根据上面的正则表达式把图片的src和图片名称rules取下imgsrc=re.findall(imglink,item)#这是因为取下的img标签可能不是我们想要的,所以匹配正则后可能会返回null值,所以判断if(len(imgsrc)!=0):imgname=""ifimgsrc[0][0]!='':imgname=imgsrc[0][0]+'.'+getFileType(imgsrc[0][1])else:imgname=getFileName(imgsrc[0][1])names.append(imgname)srcs.append(imgsrc[0][1])returnnames,srcs到现在,图片的链接和名称我都拿到了,那你就可以开始下载了文件下载多线程下载因为文件很多,所以最好多线程的方式下载,我这里只是举个例子.你可以按照这个逻辑写pool=ThreadPoolExecutor(max_workers=50)forjinrange(len(names)):pool.submit(FileDownload.downloadFile,urls[j],filelocation[j])结果,已经爬取超过10万个表情,这次我们也是大表情包,以上就是本次分享如果觉得文章还不错,请关注公众号:Python编程学习圈,每日干货分享,发送“J”还能收到大量学习资料,涵盖Python电子书、教程、数据库编程、Django、爬虫、云计算等。或者去编程学习网了解更多编程技术知识。