爬取某婚恋网站数千小姐姐头像
2020-12-29 20:28
946 查看
访问世纪某缘网站,通过搜索可以查看很多小姐姐(小哥哥)的头像。而且这些头像不受限制,可以查看,不过要想看大图,就需要注册和登录了。本文仅仅对头像感兴趣,因而不需要注册。
使用Python爬虫可以很轻松的爬取成千上万的用户头像。
话不多说,上代码。注意header和cookies可以根据自己浏览器访问记录设定。
import requests import re import urllib my_url = "http://search.jiayuan.com/v2/search_v2.php" my_header = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"} my_cookies = {"guider_quick_search":"on", "accessID":"20181213094914916362", "SESSION_HASH":"b1ef27371485bbf7ea817f39c404c23fd82f3d39", "PHPSESSID":"8f12d200f751a3f108aeb4ed3f50192b", "is_searchv2":"1"} def get_img_url(img_url): return img_url.replace("\\","") def downImage(url): outname = url.split("/")[-1] urllib.request.urlretrieve(url,outname) def main(loc=32, age="18.33"): #设定搜索地点和年龄范围 page = 1 my_select = "1:" + str(loc) + ",2:" + str(age) +",23:1" my_data = {"sex":"f", "key":"", "stc": my_select, "sn":"default","sv":"1","p":str(page),"f":"search", "listStyle":"bigPhoto","pri_uid":"0", "jsversion":"v5"} rr = requests.post(url = my_url, headers = my_header, cookies = my_cookies, params = my_data) img_list = re.findall('image":"(http:.*?jpg)',rr.text) while all(x.endswith("avatar_p.jpg") for x in img_list): for img in img_list: i_url = get_img_url(img) downImage(i_url) print(i_url) page = page + 1 my_data = {"sex":"f", "key":"", "stc": my_select, "sn":"default","sv":"1","p":str(page),"f":"search", "listStyle":"bigPhoto","pri_uid":"0", "jsversion":"v5"} rr = requests.post(url = my_url, headers = my_header, cookies = my_cookies, params = my_data) img_list = re.findall('image":"(http:.*?jpg)',rr.text) if __name__ == "__main__": main()
(代码块可左右滑动)
通过post提交搜索条件,上述代码中通过my_data构造了搜索条件,其中几个关键的参数如下,即:
“sex”:”f” -性别:女
“stc”:”1:32,2:18.30”: - 1表示省份,32代表江苏,你还可以设置成其他省份;2表示年龄范围,18.30表示年龄范围在18-30岁之间。
不过,不是所有的头像都可以查看,到一定页码之后,就需要注册查看了。
但是,能够查看的图像已经足够多了。
将其中的省份设为99,表示海外,短短一会时间,就下载了2000张头像。效果如下:
==== THE END ====
(仅供学习使用)
相关文章推荐
- 支持 gRPC 长链接,深度解读 Nacos 2.0 架构设计及新模型
- 用一把吃鸡的时间,免费上云搭建网站应用
- .NET 云原生架构师训练营(模块二 基础巩固 EF Core 基础与配置)--学习笔记
- 持续提升程序员幸福指数——使用abp vnext设计一款面向微服务的单体架构
- .NET 云原生架构师训练营(模块二 基础巩固 EF Core 介绍)--学习笔记
- 框架VS架构,看两者异同
- .NET 云原生架构师训练营(模块二 基础巩固 MVC终结点)--学习笔记
- 黑/客SQL/注/入入/侵网站实战(1)—成功渗/透台湾某净化设备公司官网
- .NET 云原生架构师训练营(模块二 基础巩固 路由与终结点)--学习笔记
- 苏宁易购Android架构演进史
- 七行JSON代码将你的网站变成移动应用
- grafana 的主体架构是如何设计的?
- .NET 云原生架构师训练营(模块二 基础巩固 REST && RESTful)--学习笔记
- 程序员专属的免费电子书下载网站,你知道你几个?
- 网站配置Gittalk教程和解决gittalk的Error: Not Found.问题
- 作为字节跳动第六名前端,谈谈公司扁平化架构育人的道与术
- .NET 云原生架构师训练营(模块二 基础巩固 配置)--学习笔记
- .NET 云原生架构师训练营(模块二 基础巩固 日志)--学习笔记
- 在瀑布下用火焰烤饼:三步法助你快速定位网站性能问题(超详细)
- 面向架构编程