一、前言
最近看到一篇关于爬取寻亲信息的文章,感觉挺有意义的!如果能采集这种数据,然后进行数据分析,这样应该能得出一些有意义的结论。这里是我自己写的爬虫,用来爬取宝贝回家的寻亲数据,由于网页上的一些数据缺失,所以还是费了一些时间提取数据的。
二、爬取目标
三、完整源码
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
#
# 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
失踪地点:江西省,宜春市,上高县,上高饭店门口
失踪者特征描述:当时是一个背篓装着,宝贝身上有张纸条,写有出生日期(1983年1月18,农历),爸爸还放了几元钱在里面。
其他资料:
注册时间: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
跟进志愿者:菜菜
================================================
五、免责声明
本文所涉及源代码均为个人学习所编写,并于公众号(愤怒的it男)中原创发布,仅可用于计算机技术学习及研究等合法行为,禁止利用本文所涉及源代码从事任何违反本国(地区)法律法规的业务,如有发现存在违法违规行为我会举报到网监部门。
原文始发于微信公众号(愤怒的it男):Python爬虫|宝贝回家寻亲数据
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/261015.html