Python Crawler – 网信贷黑名单数据爬取

简介:

网信贷黑名单网站截图:

真实数据截图:

我这里想爬取这些个人的信息,但是有些内容是需要登陆才可以查看的,所以先去注册了一个账号。

登陆进来后得到的内容是完整的:

(PS:这里就不激活邮箱了)

– 结构分析&代码编写

这些被黑名单的人信息是首页点入进去的,对比下:

 
 
  1. <tr onclick="localHref('jgp94CtrsB')" class="pointer"

点开后的链接是:

acklist-jgp94CtrsB.html

相信大家一眼就看出来了规律吧,显示的HTML代码中有链接特征。

根据链接的规则我们可以写出这样一段python代码:

 
 
  1. target_url = 'https://*.cc' #设置url 
  2. r = requests.get(target_url) #访问url 
  3. html = r.text#获取html代码 
  4. h = r"localHref(\'(.*?)\')" #正则代码 
  5. h_re = re.compile(h) #生成正则 
  6. href_all = h_re.findall(html) #正则匹配出链接特征 
  7. for i in href_all: #匹配出来的链接特征需要用for遍历 
  8.    url = 'https://*.cc/blacklist-' + i + '.html' #遍历出来组合成url 

现在我要获取的是“姓名、身份证、手机号、微信、支付宝”,这里我使用的是XPATH来获取这些数据,因为这样更简单一些。

大概的来了解下XPATH的语法吧:

这里完全可以使用更快速的方法:

直接使用Firebug或者其它浏览器的Copy XPath:

得到的XPath语法:

 
 
  1. /html/body/div[2]/div/div/h2 

我们要获取的名字是h2标签内的所以直接修改成:

 
 
  1. /html/body/div[2]/div/div/h2/text() 

直接上Python代码:

(注:from lxml import etree 是支持XPath语法的库)

可以看到输出的结果是unicode编码 ,直接解码就显示了:

其他的XPath代码:

 
 
  1. sfzOBJ = htmlOBJ.xpath('//h3[@class="margin_top_15"]/span[@class="inline"]/i[1]/text()') #身份证 
  2. phoneOBJ = htmlOBJ.xpath('//*[@id="body"]/div/div/h3[1]/span[2]/i/text()') #手机号 
  3. wechatOBJ = htmlOBJ.xpath('//*[@id="body"]/div/div/div[3]/span[1]/text()') #微信 
  4. alipayOBJ = htmlOBJ.xpath('//*[@id="body"]/div/div/div[3]/span[2]/text()') #支付宝 

这里要记得加上登陆的Cookie去访问哦:

1.在控制台输入document.cookie获取Cookie

2.带上Cookie请求访问

 
 
  1. geturl = requests.get(url,headers={'Cookie':'__cfduid=d8b7bef3c3b678161d9fe747ccb651cea1499931877; PHPSESSID=mp6oh6j7o03hqd42n06r9p2bii;  
  2. AJSTAT_ok_pages=5; AJSTAT_ok_times=1; _ga=GA1.2.1572452184.1499931870; _gid=GA1.2.2100292624.1499931870'}) 

– 最后

核心的代码都写好了,其他的就是结构的梳理,完善代码:

 
 
  1. import requests,re 
  2. from requests.packages.urllib3.exceptions import InsecureRequestWarning 
  3. requests.packages.urllib3.disable_warnings(InsecureRequestWarning) 
  4. from lxml import etree 
  5. target_url = 'https://www.xinyongheimingdan.cc/' 
  6. cookie = '你的cookie' 
  7. r = requests.get(target_url,headers={ 
  8.     'Cookie':cookie 
  9.     }) 
  10. html = r.text 
  11. h = r"localHref\(\'(.*?)\'\)" 
  12. h_re = re.compile(h) 
  13. href_all = h_re.findall(html) 
  14.  
  15. for i in href_all: 
  16.     url = 'https://www.xinyongheimingdan.cc/blacklist-' + i + '.html' 
  17.     geturl = requests.get(url,headers={ 
  18.             'Cookie':cookie 
  19.             }) 
  20.     urlHTML = geturl.text.encode("utf-8"
  21.     htmlOBJ = etree.HTML(urlHTML) 
  22.     nameOBJ = htmlOBJ.xpath('/html/body/div[2]/div/div/h2/text()'
  23.     sfzOBJ = htmlOBJ.xpath('//h3[@class="margin_top_15"]/span[@class="inline"]/i[1]/text()'
  24.     phoneOBJ = htmlOBJ.xpath('//*[@id="body"]/div/div/h3[1]/span[2]/i/text()'
  25.     wechatOBJ = htmlOBJ.xpath('//*[@id="body"]/div/div/div[3]/span[1]/text()'
  26.     alipayOBJ = htmlOBJ.xpath('//*[@id="body"]/div/div/div[3]/span[2]/text()'
  27.     all_info = nameOBJ,sfzOBJ,phoneOBJ,wechatOBJ,alipayOBJ 
  28.     print all_info 

成果:

 


本文作者:Peter Winter

来源:51CTO

相关文章
|
5天前
|
存储 JSON 数据库
Python中列表数据的保存与读取:以txt文件为例
Python中列表数据的保存与读取:以txt文件为例
19 2
|
5天前
|
XML 前端开发 数据格式
BeautifulSoup 是一个 Python 库,用于从 HTML 和 XML 文件中提取数据
【5月更文挑战第10天】BeautifulSoup 是 Python 的一个库,用于解析 HTML 和 XML 文件,即使在格式不规范的情况下也能有效工作。通过创建 BeautifulSoup 对象并使用方法如 find_all 和 get,可以方便地提取和查找文档中的信息。以下是一段示例代码,展示如何安装库、解析 HTML 数据以及打印段落、链接和特定类名的元素。BeautifulSoup 还支持更复杂的查询和文档修改功能。
23 1
|
1天前
|
数据采集 存储 数据挖掘
Python DataFrame初学者指南:轻松上手构建数据表格
【5月更文挑战第19天】本文是针对初学者的Pandas DataFrame指南,介绍如何安装Pandas、创建DataFrame(从字典或CSV文件)、查看数据(`head()`, `info()`, `describe()`)、选择与操作数据(列、行、缺失值处理、数据类型转换、排序、分组聚合)以及保存DataFrame到CSV文件。通过学习这些基础,你将能轻松开始数据科学之旅。
|
1天前
|
数据挖掘 数据处理 Python
【Python DataFrame 专栏】Python DataFrame 入门指南:从零开始构建数据表格
【5月更文挑战第19天】本文介绍了Python数据分析中的核心概念——DataFrame,通过导入`pandas`库创建并操作DataFrame。示例展示了如何构建数据字典并转换为DataFrame,以及进行数据选择、添加修改列、计算统计量、筛选和排序等操作。DataFrame适用于处理各种规模的表格数据,是数据分析的得力工具。掌握其基础和应用是数据分析之旅的重要起点。
【Python DataFrame 专栏】Python DataFrame 入门指南:从零开始构建数据表格
|
1天前
|
机器学习/深度学习 数据处理 Python
如何利用Python实现高效的数据清理与预处理
数据清理和预处理是数据科学家和分析师工作中不可或缺的一环,而Python作为一门强大的编程语言,可以使这个过程变得更加高效和便捷。本文将介绍一些常见的数据清理和预处理技术,并演示如何使用Python来实现这些技术。
|
3天前
|
JSON JavaScript 数据格式
利用 python 分析基金,合理分析数据让赚钱赢在起跑线!(1)
利用 python 分析基金,合理分析数据让赚钱赢在起跑线!(1)
|
4天前
|
存储 JSON 数据格式
Python知识点——高维数据的格式化
Python知识点——高维数据的格式化
6 0
|
4天前
|
Python
Python知识点——文件和数据格式化
Python知识点——文件和数据格式化
8 0
|
5天前
|
存储 机器学习/深度学习 数据可视化
基于Python的数据分组技术:将数据按照1, 2, 3规则分为三个列表
基于Python的数据分组技术:将数据按照1, 2, 3规则分为三个列表
9 1
|
5天前
|
存储 JSON 数据挖掘
python序列化和结构化数据详解
python序列化和结构化数据详解
15 0