目录
前言:
代码展示:
效果展示:
??
代码解析:
前言:
??????? 实验室师兄有着独特的穿搭品味,前段日子便催促过我写一下爬虫帮他爬取一下有关网站上的美女穿搭,刚开始我是拒绝的,奈何他实在是给的太多,外加实验室一也想学爬虫的师兄上次抱怨我爬虫豆瓣数导致其IP被警告,于是今天我便来分享一种新的方法。
代码展示:
import requests
from bs4 import BeautifulSoup
import time
url="https://www.umei.cc/meinvtupian/meinvxiezhen/"
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0'
}
response=requests.get(url=url,headers=headers)
resp=requests.get(url)
resp.encoding='utf-8'#处理乱码
# print(resp.text)
#把源代码交给bs
main_page=BeautifulSoup(resp.text,"html.parser")
alist=main_page.find("div",class_="TypeList").find_all("a")
# print(alist)
for a in alist:
href=a.get('href')
real_href='https://www.umei.cc'+href
#拿到子页面代码
child_page_resp=requests.get(real_href,headers=headers)
child_page_resp.encoding='utf-8'
child_page_text=child_page_resp.text
# #从子页面拿到图片的下载路径
child_page=BeautifulSoup(child_page_text,"html.parser")
img_id=child_page.find("div",id="ArticleId{dede:field.reid/}")
img=img_id.find("img")
src=img.get("src")
#下载图片
img_resp=requests.get(src,headers=headers)
img_resp.content#这里拿到的是字节
img_name=src.split("/")[-1] #拿到url中的最后一个/以后的内容
with open(img_name,mode="wb") as f:
f.write(img_resp.content)#图片内容写入文件
print("over!!!",img_name)
time.sleep(1)
print("all_over")
效果展示:
效果图就不再展示了(主要是过不了审)
代码解析:
?其实主要代码还是没有太大变化的,这次我主要使用的方法是引入了time库,设定每一秒爬取一次数据,以防网站进行反爬处理,其次就是反复的使用get和find操作不断从页面源代码中提取我们需要的网址
|