Python网络爬虫实战-抓取百合网真实相亲数据

简介: 百合网是一个相亲网站,里面拥有一些真实的妹子数据,如何抓取该网站的数据内容呢,接下来随我一探糗竟吧!

第一步:分析网页流程,确定目标

进入百合网首页,分析要抓取的数据内容

image.png

进入到首页推荐表的妹子界面 设置好筛选的条件;可以看到更多展示的妹子。这也是我们接下来要抓取的。

image.png

每张图片点开后 都有相应的详细介绍;比如我们要抓取的数据是 【名字、年龄、身高 、学历、婚姻使、自我介绍等】

image.png

第二步:请求网络网站,获取网页数据

import requests

import json

from lxml import etree

import pandas as pd

cookies = {

   'orderSource': '10130301',

   'accessID': '20220525160212300807',

   'lastLoginDate': 'Wed%20May%2025%202022%2016%3A02%3A12%20GMT+0800%20%28%u4E2D%u56FD%u6807%u51C6%u65F6%u95F4%29',

   'accessToken': 'BH1653465732565956999',

   'Hm_lvt_5caa30e0c191a1c525d4a6487bf45a9d': '1653465735',

   'tempID': '2328584815',

   'NTKF_T2D_CLIENTID': 'guest46B34559-18E8-1BB5-1B84-FA3D400112EF',

   'AuthCookie': '4BFFD62B611D896E561FCDFCA2AC50840C888FC5354A7C8F02C453B1F486849BA543E98E4E32B2920B4F70C256EF513E1B711A8BC10FC1DF9BF608CB30C4F468740A0A3FA06C20992D2ABCEAC15741654D3542C75E463CD2',

   'AuthMsgCookie': 'DF8460C627701442B7016AED70C6828D82D7E467447C72E69E49D2A6B8815481FFB474631E375FBDED51DD0A0BDFCBB06E580573940DA59132515B2BEA677360104068C9C41BBE1272765712500DB8532613ED82D5EDBD2F',

   'GCUserID': '307535896',

   'OnceLoginWEB': '307535896',

   'LoginEmail': '15565222558%40mobile.baihe.com',

   'userID': '307535896',

   'spmUserID': '307535896',

   'nTalk_CACHE_DATA': '{uid:kf_9847_ISME9754_307535896,tid:1653465759744600}',

   'AuthTokenCookie': 'bh.1653466069969_1800.04BE6CEADC682D6A9E8630E1E15B85A5190CC534.bhkOo8o.6',

   'noticeEvent_307535896': '25',

   'hasphoto': '1',

   'AuthCheckStatusCookie': '745B4B48B7EA1CC7BFDEB8D850A700D714D1D3015978705726A127B203C4931405E9D878DCC812E7',

   'tgw_l7_route': '0dd999c63b312678b82b8668ba91d54d',

   'Hm_lpvt_5caa30e0c191a1c525d4a6487bf45a9d': '1653466330',

   '_fmdata': 'Ewvc1t%2BSwfMTVNcjWwP%2B0uotvg7udIoQjotCEf9E17Cze%2FAmFlYoO9ck5kXksZIVSuxOcxl68ouCRX%2FOxc4Mjv2RNI6Ek7XQ8L5kbQaMQeA%3D',

}

headers = {

   'Connection': 'keep-alive',

   'Pragma': 'no-cache',

   'Cache-Control': 'no-cache',

   'Accept': 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01',

   'X-Requested-With': 'XMLHttpRequest',

   'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36',

   'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',

   'Origin': 'https://search.baihe.com',

   'Sec-Fetch-Site': 'same-origin',

   'Sec-Fetch-Mode': 'cors',

   'Referer': 'https://search.baihe.com/',

   'Accept-Language': 'zh-CN,zh;q=0.9',

}

data = {

   'minAge': '19',

   'maxAge': '28',

   'minHeight': '155',

   'maxHeight': '170',

   'education': '1-7',

   'loveType': '',

   'marriage': '',

   'income': '1-6',

   'city': '8611',

   'nationality': '',

   'occupation': '',

   'children': '',

   'bloodType': '',

   'constellation': '',

   'religion': '',

   'online': '',

   'isPayUser': '',

   'isCreditedByAuth': '',

   'hasPhoto': '1',

   'housing': '',

   'car': '',

   'homeDistrict': '',

   'page': '1',

   'sorterField': '1',

}

response = requests.post('https://search.baihe.com/Search/getUserID?&jsonCallBack=jQuery183046819546986330085_1653466343209', cookies=cookies, headers=headers, data=data).text

data = response.lstrip('jQuery183046819546986330085_1653466343209(').rstrip(');')

data=json.loads(data)

data = data['data']

print(data)

image.png

第三步:筛选、解析数据 提取

# 存储数据
name=[]

age=[]

hg=[]

x_l=[]

city=[]

h_p=[]

content=[]

for item_id in data:
   # 拼接 url
   url = 'https://profile1.baihe.com/?oppID='+item_id

   response_2 = requests.get(url,headers=headers, cookies=cookies).text

   html=etree.HTML(response_2)

   # 姓名
   name.append(html.xpath('//div[@class="name"]/span[2]/text()')[0])

   # 年龄
   age.append(html.xpath('//div[@class="inter"]/p/text()')[0])

   # 身高
   hg.append(html.xpath('//div[@class="inter"]/p/text()')[1])

   # 学历
   x_l.append(html.xpath('//div[@class="inter"]/p/text()')[2])

   # 所在城市
   city.append(html.xpath('//div[@class="inter"]/p/text()')[3])

   # 是否婚配
   h_p.append(html.xpath('//div[@class="inter"]/p/text()')[4])

   # 自我介绍
   content.append(html.xpath('//div[@class="intr"]/text()')[0])

   print(name,age,hg,x_l,city,h_p,content)

image.png

第四步:持久化保存数据

df = pd.DataFrame()

df['网名']=name

df['年龄']=age

df['身高']=hg

df['学历']=x_l

df['所在城市']=city

df['是否婚配']=h_p

df['自我介绍']=content

df.to_excel('百合网Demo.xls',encoding='utf-8',index=False)

image.png

如此即可获取所有妹子数据,更多的信息,可以按照我的这种方式自己尝试获取呀!

有收获的话 ,可以点赞、关注奥 。

相关文章
|
4天前
|
存储 数据采集 数据库
Python爬虫实战:股票分时数据抓取与存储
Python爬虫实战:股票分时数据抓取与存储
|
30天前
|
前端开发 小程序 Java
uniapp-网络数据请求全教程
这篇文档介绍了如何在uni-app项目中使用第三方包发起网络请求
45 3
|
2月前
|
数据采集 存储 JavaScript
网页爬虫技术全解析:从基础到实战
在信息爆炸的时代,网页爬虫作为数据采集的重要工具,已成为数据科学家、研究人员和开发者不可或缺的技术。本文全面解析网页爬虫的基础概念、工作原理、技术栈与工具,以及实战案例,探讨其合法性与道德问题,分享爬虫设计与实现的详细步骤,介绍优化与维护的方法,应对反爬虫机制、动态内容加载等挑战,旨在帮助读者深入理解并合理运用网页爬虫技术。
|
2月前
|
存储 安全 网络安全
网络安全的盾与剑:漏洞防御与加密技术的实战应用
在数字化浪潮中,网络安全成为保护信息资产的重中之重。本文将深入探讨网络安全的两个关键领域——安全漏洞的防御策略和加密技术的应用,通过具体案例分析常见的安全威胁,并提供实用的防护措施。同时,我们将展示如何利用Python编程语言实现简单的加密算法,增强读者的安全意识和技术能力。文章旨在为非专业读者提供一扇了解网络安全复杂世界的窗口,以及为专业人士提供可立即投入使用的技术参考。
|
2月前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
247 7
|
3月前
|
弹性计算 安全 容灾
阿里云DTS踩坑经验分享系列|使用VPC数据通道解决网络冲突问题
阿里云DTS作为数据世界高速传输通道的建造者,每周为您分享一个避坑技巧,助力数据之旅更加快捷、便利、安全。本文介绍如何使用VPC数据通道解决网络冲突问题。
168 0
|
3月前
|
数据采集 JSON JavaScript
如何通过PHP爬虫模拟表单提交,抓取隐藏数据
本文介绍了如何使用PHP模拟表单提交并结合代理IP技术抓取京东商品的实时名称和价格,特别是在电商大促期间的数据采集需求。通过cURL发送POST请求,设置User-Agent和Cookie,使用代理IP绕过限制,解析返回数据,展示了完整代码示例。
如何通过PHP爬虫模拟表单提交,抓取隐藏数据
|
3月前
|
数据采集 JavaScript 网络安全
为什么PHP爬虫抓取失败?解析cURL常见错误原因
豆瓣电影评分是电影市场的重要参考,通过网络爬虫技术可以高效采集评分数据,帮助电影制作和发行方优化策略。本文介绍使用PHP cURL库和代理IP技术抓取豆瓣电影评分的方法,解决反爬机制、网络设置和数据解析等问题,提供详细代码示例和优化建议。
106 0
为什么PHP爬虫抓取失败?解析cURL常见错误原因
|
3月前
|
安全 算法 网络安全
量子计算与网络安全:保护数据的新方法
量子计算的崛起为网络安全带来了新的挑战和机遇。本文介绍了量子计算的基本原理,重点探讨了量子加密技术,如量子密钥分发(QKD)和量子签名,这些技术利用量子物理的特性,提供更高的安全性和可扩展性。未来,量子加密将在金融、政府通信等领域发挥重要作用,但仍需克服量子硬件不稳定性和算法优化等挑战。
|
移动开发 网络协议 Linux
Python网络编程(socketserver、TFTP云盘、HTTPServer服务器模型)
Python网络编程 Python小项目 Python网盘 Python HTTP请求服务端
2160 0

热门文章

最新文章

推荐镜像

更多