Python爬虫|宝贝回家寻亲数据

一、前言

最近看到一篇关于爬取寻亲信息的文章,感觉挺有意义的!如果能采集这种数据,然后进行数据分析,这样应该能得出一些有意义的结论。这里是我自己写的爬虫,用来爬取宝贝回家的寻亲数据,由于网页上的一些数据缺失,所以还是费了一些时间提取数据的。

二、爬取目标

Python爬虫|宝贝回家寻亲数据

三、完整源码

#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
#
# Copyright (c) 2024 愤怒的it, All Rights Reserved.
# FileName : code.py
# Date : 2024.03.04
# Author : 愤怒的it
# Version : 1.0.0
# Node : 欢迎关注微信公众号【愤怒的it男】
#
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

import csv
from lxml import etree
import requests
from tabulate import tabulate

def getUrl():
    urls = []
    for i in range(2):#可以此处修改页数
        if i==0:
            url = 'https://www.baobeihuijia.com/bbhj/channels/3.html'
        else:
            url = 'https://www.baobeihuijia.com/bbhj/channels/3_{}.html'.format(i+1)
        response = requests.get(url=url)
        html = etree.HTML(response.text)
        urls = urls + html.xpath("//a[@class='person-agent-name']/@href")
    return urls 

def getData(urls):
    datas = []
    for u in urls:
        url = 'https://www.baobeihuijia.com/'+u
        response = requests.get(url=url)
        response.encoding = 'utf-8'
        html = etree.HTML(response.text)
        title = html.xpath("//h3/text()")
        if title==[]:
            continue
        details = []
        for i in range(1,14):
            if i == 9:
                temp = html.xpath("//div[@class='pagecontent']//li[{}]/div[@class='view-th']/text()".format(i))
                details.append('' if temp==[] else temp[0][5:])
            else:
                temp = html.xpath("//div[@class='pagecontent']//li[{}]/div[@class='view-td']/text()".format(i))
                details.append('' if temp==[] else temp[0])
        data = title + details
        datas.append(data)
    return datas
    
def printData(datas):
    for i,data in enumerate(datas):
        print('宝贝{}'.format(i+1))
        print('标题:{}'.format(data[0]))
        print('寻亲类别:{}'.format(data[1]))
        print('失踪类型:{}'.format(data[2]))
        print('寻亲编号:{}'.format(data[3]))
        print('姓名:{}'.format(data[4]))
        print('性别:{}'.format(data[5]))
        print('出生日期:{}'.format(data[6]))
        print('失踪时身高:{}'.format(data[7]))
        print('失踪时间:{}'.format(data[8]))
        print('失踪地点:{}'.format(data[9]))
        print('失踪者特征描述:{}'.format(data[10]))
        print('其他资料:{}'.format(data[11]))
        print('注册时间:{}'.format(data[12]))
        print('跟进志愿者:{}'.format(data[13]))
        print('================================================n')
    
def saveData(datas):
    with open('宝贝回家.csv''w', encoding='utf-8', newline=''as file:
        writer = csv.writer(file)
        headers = [ "标题""寻亲类别""失踪类型""寻亲编号""姓名""性别""出生日期""失踪时身高""失踪时间""失踪地点""失踪者特征描述""其他资料""注册时间""跟进志愿者"]
        writer.writerow(headers)
        writer.writerows(datas)

def main():
    urls = getUrl()
    datas = getData(urls)
    printData(datas)
    saveData(datas)
    
if __name__== "__main__" :
    main()

四、爬取结果

宝贝1
标题:[662700]还未取名字-登记信息
寻亲类别:家寻宝贝
失踪类型:遗弃
寻亲编号:662700
姓名:还未取名字
性别:女
出生日期:1983-01-18
失踪时身高:未知CM
失踪时间:1983-02-18
失踪地点:江西省,宜春市,上高县,上高饭店门口
失踪者特征描述:当时是一个背篓装着,宝贝身上有张纸条,写有出生日期(1983118,农历),爸爸还放了几元钱在里面。
其他资料:
注册时间:2023-09-25
跟进志愿者:天天福
================================================

宝贝2
标题:[662684]陈宝宝-登记信息
寻亲类别:家寻宝贝
失踪类型:送养
寻亲编号:662684
姓名:陈宝宝
性别:男
出生日期:1992-09-04
失踪时身高:52CM
失踪时间:1992-09-04
失踪地点:广东省,湛江市,坡头区,undefined
失踪者特征描述:
其他资料:
注册时间:2023-09-24
跟进志愿者:燕子
================================================

宝贝3
标题:[662659]男孩-登记信息
寻亲类别:家寻宝贝
失踪类型:送养
寻亲编号:662659
姓名:男孩
性别:男
出生日期:1998-03-28
失踪时身高:未知CM
失踪时间:1998-04-15
失踪地点:山西省,运城市,闻喜县,蛇虎涧村
失踪者特征描述:
其他资料:
注册时间:2023-09-24
跟进志愿者:淡淡幻想
================================================

宝贝4
标题:[662648]女孩-登记信息
寻亲类别:家寻宝贝
失踪类型:送养
寻亲编号:662648
姓名:女孩
性别:女
出生日期:1996-03-18
失踪时身高:60CM
失踪时间:1996-03-25
失踪地点:河南省,商丘市,睢阳区,睢阳区高辛镇卫生院
失踪者特征描述:妈妈描述 妹妹眼睛好看 出生几天就被当地医院的医生介绍一户人家抱走了 协商是不能去看孩子 否则对方就不领养 
其他资料:爸妈送养是迫不得已 那个年代爷爷奶奶重男轻女 计划生育又比较严 妈妈怀孕期间都是在玉米地 棉花地东藏西躲 都不敢进家 家里穷的屋子都没有 几个姑姑家庭也不尽人意 实在是没办法 迫不得已送人 
注册时间:2023-09-23
跟进志愿者:小义
================================================

宝贝5
标题:[662626]钟云丹-登记信息
寻亲类别:家寻宝贝
失踪类型:被拐
寻亲编号:662626
姓名:钟云丹
性别:女
出生日期:1990-09-06
失踪时身高:未知CM
失踪时间:1992-07-09
失踪地点:山东省,聊城市,莘县,古云镇莱油三厂,黑三角养殖场
失踪者特征描述:头顶有3个旋,偏右有一个小圆圈的金丝黄头发
其他资料:
注册时间:2023-09-23
跟进志愿者:鹏鹏
================================================

宝贝6
标题:[662614]无名-登记信息
寻亲类别:家寻宝贝
失踪类型:送养
寻亲编号:662614
姓名:无名
性别:男
出生日期:1973-05-22
失踪时身高:未知CM
失踪时间:1973-05-22
失踪地点:河南省,商丘市,梁园区,第一人民医院
失踪者特征描述:不知道弟弟在不在!
其他资料:老爸爸说应该有这个弟弟在,
注册时间:2023-09-23
跟进志愿者:小义
================================================

宝贝7
标题:[662608]未知-登记信息
寻亲类别:家寻宝贝
失踪类型:遗弃
寻亲编号:662608
姓名:未知
性别:女
出生日期:2003-09-08
失踪时身高:未知CM
失踪时间:2003-08-15
失踪地点:贵州省,黔东南苗族侗族自治州,凯里市,电厂附近
失踪者特征描述:女婴,很可爱的宝贝
其他资料:
注册时间:2023-09-23
跟进志愿者:百度
================================================

宝贝8
标题:[662607]李健磊-登记信息
寻亲类别:家寻宝贝
失踪类型:走失
寻亲编号:662607
姓名:李健磊
性别:男
出生日期:2007-10-09
失踪时身高:170CM
失踪时间:2023-08-19
失踪地点:河南省,新乡市,长垣市,芦岗镇
失踪者特征描述:带个眼镜
其他资料:
注册时间:2023-09-23
跟进志愿者:天弓
================================================

宝贝9
标题:[662599]荣修红-登记信息
寻亲类别:家寻宝贝
失踪类型:送养
寻亲编号:662599
姓名:荣修红
性别:女
出生日期:2002-07-13
失踪时身高:未知CM
失踪时间:2002-08-16
失踪地点:江西省,九江市,修水县,司前乡计生办
失踪者特征描述:左眼或右眼下或鼻子上有一颗黑痣
其他资料:无
注册时间:2023-09-23
跟进志愿者:玲珑
================================================

宝贝10
标题:[662596]刚出生的娃娃-登记信息
寻亲类别:家寻宝贝
失踪类型:被拐
寻亲编号:662596
姓名:刚出生的娃娃
性别:男
出生日期:1975-05-31
失踪时身高:未知CM
失踪时间:1975-06-01
失踪地点:山东省,日照市,莒县,寨里河
失踪者特征描述:婴儿
其他资料:寻找孩子家人团圆
注册时间:2023-09-23
跟进志愿者:菜菜
================================================

Python爬虫|宝贝回家寻亲数据

Python爬虫|宝贝回家寻亲数据

五、免责声明

本文所涉及源代码均为个人学习所编写,并于公众号(愤怒的it男)中原创发布,仅可用于计算机技术学习及研究等合法行为,禁止利用本文所涉及源代码从事任何违反本国(地区)法律法规的业务,如有发现存在违法违规行为我会举报到网监部门。

原文始发于微信公众号(愤怒的it男):Python爬虫|宝贝回家寻亲数据

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/261015.html

(0)
服务端技术精选的头像服务端技术精选

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!