第一个python爬虫

本人第一个博客 也是跟着导师学习开始的第一步 花了两三天学习了python3.5的简单语法 并且看了一些关于爬虫的文章 写了一个简单的爬虫
用到urllib.request库和re库  (urllib2库是python2.7的) 用re.findall构造正则语句
目标数据:某金融网站上每个项目的基本信息
目标站点:国诚金融  (前几天在零壹数据上看到的最新的存在异常的网站)点击打开链接
目标url:点击打开链接
目标信息截图:

火狐浏览器f12 发现这块信息都在一个div内
<div class="menucont" style="clear:both">
在每个table内都有一栏信息 用中文(如 借贷人信息)做为用正则定位的关键字

如要获得借款人基本信息(年龄 学历 婚姻)便可用以下正则语句获得
基本信息</di.*?年龄.*?gary mal20">(.*?)</sp.*?学历.*?gary mal20">(.*?)</sp.*?婚姻.*?gary mal20">(.*?)</sp
其中(.*?)为获取的信息段内容


资产信息这一栏内有选择是否的按钮 这就无法用上面的正则语句直接获取
f12发现是与否中选择的那一个  对应的标签内会有checked值  于是先尝试用checked来定位是否
发现跑了半分钟都没有结果。。。于是查看源代码
发现是和否后还有nbsp空格符。。(果然源代码才会暴露一切 但是显示在另一个页面上 没有直接f12查看DOM方便)
于是加上&nbsp后成功get

最后是我写的极简的代码(并没有面向对象的设计T_T)
# -*- coding:utf-8 -*-
import urllib.request
import re
#import sqlite3
page=77500
url = 'https://www.gcjr.com/toubiao/' + str(page) + str('.html')
response = urllib.request.urlopen(url)
content=response.read().decode('utf-8')
pattern1=re.compile('.*?class="oren precent line120">\r\n                \t\r\n\t\t\t\t\t \r\n\t\t\t\t\t  \r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t\t (.*?)\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n                \t <smal.*?<strong>(.*?)</str.*?<strong>(.*?)</str.*?基本信息</di.*?年龄.*?gary mal20">(.*?)</sp.*?学历.*?gary mal20">(.*?)</sp.*?婚姻.*?gary mal20">(.*?)</sp.*?收入.*?gary mal20">(.*?)</sp.*?房产.*?<span class.*?checked.*?/>\r\n\t\t\t\t\t\t\t(.*?) .*?房贷.*?<span class.*?checked.*?/>\r\n\t\t\t\t\t\t\t(.*?) .*?车产.*?<span class.*?checked.*?/>\r\n\t\t\t\t\t\t\t(.*?) .*?车贷.*?<span class.*?checked.*?/>\r\n\t\t\t\t\t\t\t(.*?) .*?公司行业.*?>(.*?)</sp.*?公司规模.*?>(.*?)</sp.*?工作岗位.*?>(.*?)</sp.*?工作城市.*?>(.*?)</sp.*?成功借款.*?>(.*?)</sp.*?借款总额.*?>(.*?)</sp.*?信用额度.*?>(.*?)</sp.*?待还本息.*?>(.*?)</sp',re.S)
pattern2=re.compile('οnclick="toShowDocs.*?>(.*?)</a',re.S)
pattern3=re.compile('借款描述.*?雅黑.*?>(.*?)请各',re.S)
items=re.findall(pattern3,content)
#pattern1借款人信息  pattern2信用档案  pattern3借款描述
for item in items:
	print(item)
		


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值