您的位置:首页 > 编程语言 > Python开发

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

2017-06-16 17:49 1091 查看
废话不多说,直接代码复制进去自己观察。

前面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('下载停止')


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 爬虫 图片 os 代码