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)

相关推荐

  • 太阳像什么的比喻句,太阳像个大火球是完整的比喻句吗

    技术太阳像什么的比喻句,太阳像个大火球是完整的比喻句吗“太阳像个大火球”是2113比喻句!5261 有一个“像”字可不代表就是比喻句4102. 句子如果说“不像”,就是没1653有把什么比喻什么,也就是没有本体、喻体,甚

    生活 2021年10月22日
  • 如何做酸辣汤,上海酸辣汤正宗做法是什么

    技术如何做酸辣汤,上海酸辣汤正宗做法是什么上海的酸辣汤原料如何做酸辣汤:老豆腐1块半,猪血1两,木耳半两,猪肉1两.,竹笋半支,冬菇,葱,姜,蛋,香菜 (够全家吃),水,酱油、淀粉半匙,米酒少许,味精半匙,盐1小匙,白醋

    生活 2021年10月20日
  • Flutter和Web生态是怎么对接的

    技术Flutter和Web生态是怎么对接的本篇内容介绍了“Flutter和Web生态是怎么对接的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔

    攻略 2021年11月19日
  • Jmeter中使用循环如何保证数据不重复

    技术Jmeter中使用循环如何保证数据不重复本篇文章为大家展示了Jmeter中使用循环如何保证数据不重复,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在Jmeter中设置并发为S

    攻略 2021年11月17日
  • 4行4字的古诗,我要60首4行5字的古诗

    技术4行4字的古诗,我要60首4行5字的古诗1,静夜思4行4字的古诗。2,咏鹅。3,终南望余雪。4,登鹳雀楼。5,江雪。6,寻隐者不遇。7,江上渔者。8,夏日绝句。9,所见。10,春夜喜雨。11,八阵图。12,绝句。13

    生活 2021年10月23日
  • window10上登录Oracle时提示ORA-12546错误怎么办

    技术window10上登录Oracle时提示ORA-12546错误怎么办这篇文章主要介绍window10上登录Oracle时提示ORA-12546错误怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要

    2021年11月20日