一.前言
前几天有小伙伴私信我说能不能用爬虫爬取美女图片,那必须能啊,本次就用爬虫知识爬取你们想要的(懂得都懂),话不多说,正题开始!
二.准备工作
1.所用模块
- requests
- BeautifulSoup
- ThreadPoolExecutor
2.网页分析
示例网站:https://www.umei.net/katongdongman/dongmantupian/
说明:由于美女图有点暴露,csdn会过滤掉,有兴趣的可仿照自行爬取
2.1网页源代码分析!
通过分析容易发现图片的超链接(图中红色框内href属性值)藏在何处,通过BeautifulSoup模块解析网页可以拿到超清大图超链接
注意注意!!
有小伙伴会说,上图中不是有图片的路径吗,直接保存不行吗?请看下图:
这个图也太小了!!!怎么获取超清大图?再次解析,请看下图:
2.2对拿到的超链接进行再次解析(获取超清大图)
三.代码及成果展示
import requests from bs4 import BeautifulSoup from concurrent.futures import ThreadPoolExecutor url = "https://www.umei.net/p/gaoqing/cn/" headers = { "user-agent": "chrom/10" } r = requests.get(url=url, headers=headers, timeout=300) r.encoding = "utf-8" demo = r.text soup = BeautifulSoup(demo, "html.parser") list = soup.find("div", attrs={"class": "TypeList"}).find_all("a", attrs={"class": "TypeBigPics"}) def getImg(): n=1 for item in list: href=item.get("href") href=url.split("/p")[0]+href r=requests.get(url=href,headers=headers,timeout=300).text soup=BeautifulSoup(r,"html.parser") src=soup.find("div",attrs={"class","ImageBody"}).find("img").get("src") content=requests.get(src).content f=open(f"{n}.jpg","wb") f.write(content) print(f"第{n}张爬取成功") n+=1 if __name__=='__main__': with ThreadPoolExecutor(50) as t: t.submit(getImg())
你只需要把初始链接改一下就可以想爬啥就爬啥哦
四. 结语
文章允许白嫖,代码允许白嫖,但是可以点赞评论吗,谢谢各位小伙伴啦。就到这里了,我们下期再见,记得订阅专栏哦!!