这是一个比较简单的利用bs4和requests模块解析网址和读取网站的内容
#! python3
# coding=utf-8
import requests,os,bs4
import logging
PageNums=int(input('请输入要爬取照片的页数:'))
url='http://jandan.net/ooxx' #设定初始页面
os.makedirs('煎蛋随手拍', exist_ok=True) #建立文件夹,判断是否已新建
os.chdir('煎蛋随手拍')
logging.basicConfig(filename='myProgramLog.txt',level=logging.INFO)
#! 注释是否开启日志记录
#logging.disable(logging.INFO)
for Page in range(PageNums):
try:
res=requests.get(url)
except:
res.raise_for_status()
#利用bs4解读网站
soup=bs4.BeautifulSoup(res.text)
imgElm=soup.select('#comments p img')#获取图片元素
print(Page)
if imgElm==[]:
print('查找不到照片')
else:
for i in range(len(imgElm)):
imgUrl='http:'+imgElm[i].get('src')
print('开始下载图片%s....'%os.path.basename(imgUrl))
res=requests.get(imgUrl)
res.raise_for_status()
imgFile=open(os.path.basename(imgUrl),'wb')
#下载图片
for chunk in res.iter_content(100000):
imgFile.write(chunk)
imgFile.close()
#转置下一页操作
prevLink = soup.select('a[class="previous-comment-page"]')[0]
url = 'http:' + prevLink.get('href')
print('done!')