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)

相关推荐

  • 5.循环

    技术5.循环 5.循环循环循环就是让相同的代码块一次又一次地重复运行1.while循环
    语法 :
    while (条件)
    {要执行的代码;
    }实例 :
    php$i = 1;while ($i = 5) {

    礼包 2021年12月23日
  • 5肖臻区块链听课笔记

    技术5肖臻区块链听课笔记 5肖臻区块链_听课笔记去中心化升级小部分未升级,产生协议分叉,协议升级,新旧互相不合法,产生hard fork,只要旧的不更新,分叉一直有soft fork临时的,旧结点只能去

    礼包 2021年12月10日
  • 网站建设中常见的安全漏洞有哪些

    技术网站建设中常见的安全漏洞有哪些这篇文章主要为大家展示了“网站建设中常见的安全漏洞有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“网站建设中常见的安全漏洞有哪些”这篇文

    攻略 2021年11月19日
  • 第13章 约束

    技术第13章 约束 第13章 约束第13章_约束1. 约束(constraint)概述
    1.1 为什么需要约束
    数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(R

    礼包 2021年11月25日
  • 民族团结小故事100字,民族团结小故事450字

    技术民族团结小故事100字,民族团结小故事450字中国巾帼英雄第一人冼夫人她的生平被载入籍《二十五史》的《隋书》、《北史》和《资治通鉴》民族团结小故事100字。她的英雄形象依然深深地刻在中国人民心中,被陈、隋皇朝敕封为“

    生活 2021年10月29日
  • 科目一考什么,科目一到科目四分别考什么

    技术科目一考什么,科目一到科目四分别考什么1)交通法规及相关知识(科目一)——笔试,100分为满分,90分以上为合格(包含90分)科目一考什么。  2)场地驾驶(科目二)——场内,实车。只分合格和不合格。实行9项必考(全

    生活 2021年10月23日