# !/usr/bin/env python
# -*- coding:utf-8 -*-
import requests
import json
# 定义一个请求函数,接收页面参数
def get_page(page):
# 把页面参数添加在url的字符串当中
url = 'https://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&is=&fp=result&queryWord=美女&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z=&ic=0&word=美女&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&fr=&cg=girl&pn={}&rn=30&gsm=1e'.format(
page)
# 请求网站,并且得到网站的响应
response = requests.get(url)
# 判断状态的状况
if response.status_code == 200:
# 返回文本文件信息
return response.text
def json_load(text):
# 把文本文件处理成字典格式
jsondict = json.loads(text)
# 创建一个空的合集,作用是去重
urlset = set()
# 检查字典里面是否包含了data这个值
if 'data' in jsondict.keys():
# 从jsondict中取出data这个字典里面的东西,依次赋值给items!
for items in jsondict.get('data'):
# 异常处理,不是每一行数据都包含thumbURL这个数据的
try:
urlset.add(items['thumbURL'])
except:
pass
return urlset
def down_cont(url):
response = requests.get(url)
name = url.split(',')[-1].split('&')[0]
if response.status_code == 200:
# 表示,如果文件名字相同,就删除当前文件,然后再创建一个一样名字的文件
with open('./images/%s.jpg' % name, 'wb') as f:
print('正在下载当前图片: ' + url)
# 以二进制的方法写入到本地
f.write(response.content)
def main():
for p in range(5):
print('正在下载 %s页 的图片' % p)
page = p * 30
text = get_page(page)
urlset = json_load(text)
for url in urlset:
down_cont(url)
if __name__ == '__main__':
main()
有人问我为什么学爬虫,那是因为我喜欢小姐姐
转载
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章