'''
保存图片为例
分析数据
startage: 21 最小年龄
endage: 30 最大年龄
gender: 2 性别 女
cityid: 149 城市编号
startheight: 151 身高
endheight: 160 身高
marry: 1 婚姻状况 未婚
education: 30
salary: 2 薪资 k
page: 1 页码
http://www.lovewzly.com/jiaoyou.html
'''
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'
}
def set_age():
'''设置年龄'''
age = int(input("请输入期望对方的年龄:"))
if 21 <= age <= 30:
startage = 21
endage = 30
elif 31 <= age <= 40:
startage = 31
endage = 40
return startage,endage
def set_sex():
'''设置性别'''
sex = input("请输入期望的对方性别:")
if sex == '男':
gender = 1
else:
gender = 2
return gender
def set_height():
'''设置身高'''
height = input("请输入期望对方的身高(cm):")
if 151 <= int(height) <= 160:
startheight = 151
endheight = 160
elif 161 <= int(height) <= 170:
startheight = 161
endheight = 170
elif 171 <= int(height) <= 180:
startheight = 171
endheight = 180
elif 181 <= int(height) <= 190:
startheight = 181
endheight = 190
else:
startheight = 0
endheight = 0
return startheight,endheight
def set_money():
'''设置薪水'''
money = input("请输入期望对方的薪资(例 6000): ")
if 2000 <= int(money) <= 5000:
salary = 2
elif 5000 <= int(money) <= 10000:
salary = 3
elif 10000 <= int(money) <= 20000:
salary = 4
elif 20000 < int(money):
salary = 5
else:
salary = 0
return salary
def get_data(page,startage,endage,gender,startheight, endheight,salary):
# 解析网页
url = 'http://www.lovewzly.com/api/user/pc/list/search?startage={}&endage={}&gender={}&cityid=383&startheight={}&endheight={}&marry=1&salary={}&page={}'.format(startage,endage,gender,startheight,endheight,salary,page)
resp = requests.get(url,headers=headers)
# print(resp.status_code)
if resp.status_code == 200 :
return resp.json()
else:
pass
def save_img(item):
path = r'C:\Users\DELL\Desktop\python_wd\mig\我主良缘\{}.png'.format(item['username'])
img_url = item['avatar']
resp_2 = requests.get(img_url,headers=headers)
if resp_2.status_code == 200:
print("正在保存{}的信息".format(item['username']))
with open(path,'wb')as f:
f.write(resp_2.content)
else:
print("保存失败。。。。")
def set_data():
'''查询符合条件的数据'''
print("请输入筛选条件,开始本次姻缘")
startage,endage = set_age() # 年龄
gender = set_sex() # 性别
startheight, endheight = set_height() # 身高
salary = set_money() # 薪资
for page in range(1,6): # 页码
# 根据用户输入的数据,获取服务器返回的数据
json = get_data(page,startage,endage,gender,startheight, endheight,salary)
# print(json['data'])
for item in json['data']['list']:
# print(item['monolog'])
save_img(item)
set_data()
09-15