想必新老python学习者,对爬虫这一概念并不陌生,在如今大数据时代,很多场景都需要利用爬虫去爬取数据,而这刚好时python领域,如何实现?怎么做?一起来看下吧~
获取图片:
1、当我们浏览这个网站时,会发现,每一个页面的URL都是以网站的域名+page+页数组成,这样我们就可以逐一的访问该网站的网页了。
2、当我们看图片列表时中,把鼠标放到图片,右击检查,我们发现,图片的内容由ul包裹的li组成,箭头所指的地方为每个套图的地址,这样我们就可以进入套图,一个这样的页面包含有24个这样的套图,我们用BeautifulSoup处理。
3、我们进入套图,鼠标右击,发现该套图图片的最大图片数为第十个span的值,而且每个套图的url同①原理相同为套图的url+第几张图片,最后下载的url由一个class为main-titleDIV组成。提取img标签的src属性即可获得下载链接。
代码如下:
from bs4 import BeautifulSoup import requests import os import re base_url=' header = { 'Referer':'http://www.mzitu.com'} for x in range(61,62): html_a=requests.get(base_url+str(x),headers=header) soup_a=BeautifulSoup(html_a.text,features='lxml') pages=soup_a.find('ul',{'id':'pins'}).find_all('a') test=re.findall('"href":"(.*?)"',pages) print(test) b=1 for y in pages: if(b%2!=0): html=requests.get(y['href'],headers=header) soup_b=BeautifulSoup(html.text,features='lxml') pic_max=soup_b.find_all('span')[10].text tittle=soup_b.find('h2',{'class':'main-title'}).text u=str(tittle).replace(':','').replace('!','').replace('?','').replace(',','').replace(' ','') os.makedirs('./img/'+u) for i in range(1,int(pic_max)+1): href=y['href']+'/'+str(i) html2=requests.get(href,headers=header) soup2=BeautifulSoup(html2.text,features='lxml') pic_url=soup2.find('img',alt=tittle) html_name=requests.get(pic_url['src'],headers=header,stream=True) file_name=pic_url['src'].split(r'/')[-1] with open('./img/'+u+'/'+file_name,'wb') as f: for x in html_name.iter_content(chunk_size=32): f.write(x) b=b+1 print('ok')
如需更多python实用知识,点击进入起源地模板网教学中心。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!