Python爬取世纪佳缘的数据是否能证明它不靠谱的示例分析

技术Python爬取世纪佳缘的数据是否能证明它不靠谱的示例分析这期内容当中小编将会给大家带来有关Python爬取世纪佳缘的数据是否能证明它不靠谱的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大

本期,边肖将给大家带来一个Python爬行嘉园数据能否证明其不可靠的实例分析。文章内容丰富,从专业角度进行分析和叙述。看完这篇文章,希望你能有所收获。

10-10: 10今天看到一个关于“在嘉园找对象靠谱吗?】,其中关注人数1903人,被浏览次数1940753次,355个答案大部分不靠谱。用Python爬嘉园的数据能证明不靠谱吗?

Python爬取世纪佳缘的数据是否能证明它不靠谱的示例分析

我翻了几页,找到了一个search_v2.php的链接,它的返回值是一个不规则的json字符串,里面包括昵称、性别、婚姻、匹配条件等等。

Python爬取世纪佳缘的数据是否能证明它不靠谱的示例分析

通过获取url参数,总计240116捕获了10,000页数据。

Python爬取世纪佳缘的数据是否能证明它不靠谱的示例分析

要安装的模块是openpyxl,用于过滤特殊字符。

#coding:utf-8

导入csv

importjson

导入请求

from openpyxl . cell . cellimportillegal _ CHARACTERS _ RE

进口

line_index=0

deffetchURL(url):

标题={ 0

接受' :'*/*,

用户代理' : ' Mozilla/5.0(windowsnt 10.0;Win64x64)applebwebkit/537.36(KHTML,likeGecko)Chrome/86 . 0 . 4240 . 75 safari/537.36 ',

cookie ' : ' guider _ quick _ search=on;accessID=20201021004216238222PHPSESID=11117 cc 60 F4 dcafd 131 b 69d 542987 a 46;is _ search v2=1;SESSION _ HASH=8f 93 eeb 87 a 87 af 01198 f 418 aa 59 bccad9 DBE 5c 13;user _ access=1;Qs _ lvt _ 336351=1603457224QS _ PV _ 336351=4391272815204901400,304352944961503700 '

}

r=requests.get(url,headers=headers)

r.raise_for_status()

returnr.text.encode('gbk ',' ignore ')。解码(' gbk ','忽略')

defpareshtml(html):

html=html.replace('\\ ','')

html=INCLUDE _ CHARTERS _ RE . sub(r ' ',html)

s=json.loads(html,strict=False)

全局线索引

userInfo=[]

sp;  for key in s['userInfo']:
        line_index = line_index + 1
        a = (key['uid'],key['nickname'],key['age'],key['work_location'],key['height'],key['education'],key['matchCondition'],key['marriage'],key['shortnote'].replace('\n',' '))
        userInfo.append(a)
    with open('sjjy.csv', 'a', newline='') as f:
        writer = csv.writer(f)
        writer.writerows(userInfo)
if __name__ == '__main__':
    
    for i in range(1, 10000):
        url = 'http://search.jiayuan.com/v2/search_v2.php?key=&sex=f&stc=23:1,2:20.30&sn=default&sv=1&p=' + str(i) + '&f=select&listStyle=bigPhoto'
        html = fetchURL(url)
        print(str(i) + '页' + str(len(html)) + '*********' * 20)
        parseHtml(html)

二,去重

在处理数据去掉重复的时候发现有好多重复的,还以为是代码写的有问题呢,查了好久的bug最后才发现网站在100页上只有数据有好多重复的,下面两个图分别是110页数据和111页数据,是不是有很多熟面孔。

110页数据

Python爬取世纪佳缘的数据是否能证明它不靠谱的示例分析

111页数据

Python爬取世纪佳缘的数据是否能证明它不靠谱的示例分析

过滤重复后的数据只剩下 1872 了,这个水分还真大

def filterData():
    filter = []
    csv_reader = csv.reader(open("sjjy.csv", encoding='gbk'))
    i = 0
    for row in csv_reader:
        i = i + 1
        print('正在处理:' + str(i) + '行')
        if row[0] not in filter:
            filter.append(row[0])
    print(len(filter))

上述就是小编为大家分享的Python爬取世纪佳缘的数据是否能证明它不靠谱的示例分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/49724.html

(0)

相关推荐

  • 春城的意思,《寒食》春城……的意思

    技术春城的意思,《寒食》春城……的意思对皇都春色的陶醉和对盛世承平的歌咏。《寒食》作者春城的意思:韩翎春城无处不飞花,寒食东风御柳斜。日暮汉宫传蜡烛,轻烟散入五侯家。【译文】:春天,长安城处处飘飞着落花;寒食节,东风把御

    生活 2021年10月23日
  • htmlspecialchars、htmlentities和strip_targs的示例分析

    技术htmlspecialchars、htmlentities和strip_targs的示例分析这篇文章将为大家详细讲解有关htmlspecialchars、htmlentities和strip_targs的示例分析,文

    攻略 2021年12月9日
  • Server 2005降级到2000的正确操作步骤是什么

    技术Server 2005降级到2000的正确操作步骤是什么Server 2005降级到2000的正确操作步骤是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个

    攻略 2021年12月1日
  • 关于keyframes的用法

    技术关于keyframes的用法 关于keyframes的用法CSS3的@keyframes用法详解:@keyframes与animation属性是密切相关的
    一.基本知识:keyframes翻译成中文

    礼包 2021年12月5日
  • vspherewebclient虚拟机怎么使用(在虚拟机中怎么克隆系统)

    技术怎样在vSpere Client上克隆虚拟机本篇文章给大家分享的是有关怎样在vSpere Client上克隆虚拟机,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来

    攻略 2021年12月21日
  • mybatis-多对多查询

    技术mybatis-多对多查询 mybatis-多对多查询用户表和角色表的关系为,一个用户有多个角色,一个角色被多个用户使用多对多查询的需求:查询用户同时查询出该用户的所有角色对应的sql语句: SEL

    礼包 2021年12月17日