【教程】记录:python基础爬虫代码(下载妹子福利图片)

废话不多说,直接代码复制进去自己观察。


前面import的,就是要安装

re

os

beautifulsoup


注意在本代码同级下创建一个mm文件夹准备放福利


至于网站,是大神给我的网站,我可是纯洁的好孩子。

感觉身体被掏空

import requests,re,os
from bs4 import BeautifulSoup

base_url='http://www.mmjpg.com/home/{page}'
def get_url(page):
	PicSet=set()
	for i in range(1,page+1,1):
		print("正在收集第"+ str(i) +"页数据.")
		url=base_url.format(page=i)
		resp=requests.get(url)
		resp.encoding='utf-8'
		href_pattern=re.compile(r'href="http://www.mmjpg.com/mm/(.*?)"')
		name_pattern=re.compile(r'alt="(.*?)"')
		bsObj=BeautifulSoup(resp.text,'lxml')
		PicUrlList=bsObj.find_all('li',{})
		for Pic in PicUrlList:
			String=str(Pic)
			page_url=re.findall(href_pattern,String)[0]
			name=re.findall(name_pattern,String)[0]
			print("正在收集"+ page_url +"数据")
			info=(page_url,name)
			PicSet.add(info)
	return PicSet
	
def download(picname,picurl):

	b_url='http://www.mmjpg.com/mm/'
	url=b_url+picurl 
	resp=requests.get(url)
	resp.encoding='utf-8'
	strFind ='class="content"(.*)/></a></div>'
	StrUrl=re.findall(strFind,resp.text)[0]
	url=re.findall('src="(.*)1.jpg"',StrUrl)[0]

	strFind ='class="page"(.*)</a><em '
	StrNum=re.findall(strFind,resp.text)[0]
	num=StrNum[-2:]
	num=int(num)
	
	for n in range(1,num+1,1):
		img_src=url+str(n)+".jpg"
		img = requests.get(img_src).content
		DirPath=os.getcwd()+"\\mm\\"
		path=DirPath+picname+str(n)+'.jpg'
		print('正在下载: '+str(n)+'...')
		with open(path,'wb') as f:
			f.write(img)
			
page=5
PicPool=get_url(page)
print("收集数据完毕,准备下载-----------")
sum=1
try:
	for Pic in PicPool:
		picurl=Pic[0]
		picname=Pic[1]
		print("正在操作第"+ str(sum) +"板块数据=========")
		download(picname,picurl)
		sum=sum+1
finally:
	print('下载停止')
	





猜你喜欢

转载自blog.csdn.net/EddyLwei/article/details/73346842