python 版本 :3.5.2

Jupyter Notebook

使用库:

reuqests (For human)

json (用来加载JSON数据)

datetime (用来记录抓取所花时间,也可以忽略)

pymysql (连接数据库,载入所爬取数据 )

1.用chrome浏览器打开网贷之家官网:http://www.wdzj.com  然后使用Chrome工具审查元素,勾选 Preserve log  然后刷新一次页面

2.找到 http://www.wdzj.com/wdzj/html/json/dangan_search.json  也就是说网贷之家将所收集在档的平台以JSON形式数据储放的,这下就很好办了,直接用抓取这个页面就ok

3.上简单粗暴的代码

1 1 #coding utf-8

2 2 importrequests3 3 importjson4 4 importdatetime5 5 importpymysql6 6 user_agent = 'User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)' #用来伪装用户身份

7 7 headers = {'User-Agent':user_agent}8 8 p2plist_url='http://www.wdzj.com/wdzj/html/json/dangan_search.json' #刚刚找到用来存放平台的JSON数据页面

9 9 print ('正在抓取……')10 10 s1=datetime.datetime.now()11 11 r=requests.get(p2plist_url)12 12 content=r.text13 13 content=json.loads(content) #加载JSON数据

14 14 s2=datetime.datetime.now()15 15 s3=(s2-s1).total_seconds()16 16 print ('抓取完成^\n共用时%s秒' % round(s3))

查看一下结果

接着连接数据库,把数据丢到数据库里面去(pymsql 库, 需要先下载,打开CMD 然后输入 ’pip install pymysql‘ 下载库)

1 con=pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd=None,db='quan') #连接数据库

2 cur=con.cursor() #创建游标

3 create_table='create table wdzj (id smallint,name varchar(20),pin varchar(20))' #创建一个数据库用来存储数据

4 try:5 cur.execute(create_table)6 con.commit()7 print ('创表成功')8 exceptException as e:9 print ('创表失败\n%s' %e)10 con.rollback11 #插入数据语句

12 for x incontent:13 sql="insert into wdzj (name,id,pin) values ('%s','%d','%s')" % (x['platName'],x['platId'],x['platPin'])14 try:15 cur.execute(sql)16 con.commit()17 print ('插入成功 %s %s %s'% (x['platName'],x['platId'],x['platPin']))18 exceptException as e:19 print ('插入错误\n%s' %e)20 con.rollback21 cur.close() #关闭游标

22 con.close() #关闭连接

查看一下结果

进行查询:条件为查询存储到数据库中,平台名称为'介贷网'的信息。ps:小小的一波推荐,玩P2P的,这个平台虽然小,但还不错。

完成!

学习过程中所遇到的问题:

1.第一次连接数据库储存数据,花了很长时间去琢磨插入语句,因为操作及逻辑思维固化的原因,刚开始将数据库语言写成cur.execute('*******'),但因为基础不扎实,硬是写不好,后来想到了,不如先写好数据库语句,将它作为一个对象写进执行数据库语句的cur.execute('*******')里面去。

2.遇到了'latin-1' codec can't encode characters in position 40-42: ordinal not in range(256) 的问题,查了一下百度,虽然得到了很几种解决方案,还记得最简单粗暴的就是:encode('utf-8')一下,然后decode('latin-1')一下,简直太粗暴,我也尝试做了一下,发现插进入的数据全特么是乱码,摒弃。后来找到了,原来是数据库的编码设置问题,后来在连接数据库的时候加上了charset="utf8"  完美解决

3.记得con.commit()否则,执行的插入语句是没有用的,因为没有提交到数据库 ,它的伙伴con.rollback() 是用来回滚的。打个比方,屌丝去追女神(数据库),送花(操作,增删改),别人妹子接受了你的花,那么就(con.commit()),不接受,那么你就滚吧(con.rollback()),

还有cur.close() 和con.close(),养成良好的习惯,操作完成后记得关闭连接

总结:

神马?函数封装都木有?哈哈,简单粗暴,够用,但是不灵活,之后会进行改进,一步一步前进~

QQ:1749061919 小白爬虫求带

金融爬虫python网贷_爬虫之爬取网贷之家在档P2P平台基本数据并存入数据库相关推荐

  1. 爬虫之爬取网贷之家在档P2P平台基本数据并存入数据库

    python 版本 :3.5.2 Jupyter Notebook 使用库: reuqests (For human) json (用来加载JSON数据) datetime (用来记录抓取所花时间,也 ...

  2. 网易云词云python_Python3爬取网易云音乐评论制作词云!网易云评论人才辈出啊!...

    主要思路 利用Python爬取网易云音乐中相应歌曲的所有评论,并利用这些评论制作歌曲的专属词云. 具体过程见相关文件中的源代码. 开发工具 Python版本:3.5.4 相关模块: requests模 ...

  3. python爬取网易云音乐飙升榜音乐_Python爬虫实战,30行代码轻松爬取网易云音乐热歌榜...

    在开始讲解思路之前,我们首先了解下网络状态码,为什么要看这个呢?以后你会回来感谢我的,嘻嘻! 一般网络状态有以下几种: 200(成功) 服务器成功处理了请求.一般来说,这意味着服务器提供所请求的页面, ...

  4. 深夜爬虫, 我很抱歉 , 附爬取“网抑云”最详细的爬虫教程!

    最近真的是被 网抑云 这个梗刷爆了,到处都是, 生而为人,我很抱歉,哈哈哈, 碰巧最近学习了一波微信公众号的爬取方式,想试一试, 特地在此献丑了.我是沙漏, 不定期更新爬虫教学, 其余时间学java和 ...

  5. 猫眼电影票房爬取到MySQL中_猫眼电影爬取(一):requests+正则,并将数据存储到mysql数据库...

    前面讲了如何通过pymysql操作数据库,这次写一个爬虫来提取信息,并将数据存储到mysql数据库 1.爬取目标 爬取猫眼电影TOP100榜单 要提取的信息包括:电影排名.电影名称.上映时间.分数 2 ...

  6. python爬取网易云音乐热评,爬取网易云音乐热评[附上音乐下载]

    [Python] 纯文本查看 复制代码import requests import time,os from bs4 import BeautifulSoup class Music_down: de ...

  7. python人人贷爬虫_爬取人人贷网上部分借贷信息以及数据可视化

    一.主题式网络爬虫设计方案:爬取人人贷网上部分借贷信息 1.主题式网络爬虫名称:爬取人人贷网上部分信息 2.主题式网络爬虫的内容与数据特征分析:爬取人人贷部分信息数据,借贷信息 3.主题式网络爬虫设计 ...

  8. 来跟我学爬虫,爬取网易云音乐的邓紫棋歌单MP3,注意:VIP歌曲不可以爬取

    @Author:Runsen 我又回来了写几个爬虫案例了,这次是写一个简单的爬虫,我来教你如何爬取网易云音乐的歌单MP3,正所谓下载一个mp3很麻烦,你们的女朋友想听歌,秀即使帮她爬取所有MP3,从此 ...

  9. python网易云_用python爬虫爬取网易云音乐

    标签: 使用python爬虫爬取网易云音乐 需要使用的模块 只需要requests模块和os模块即可 开始工作 先去网易云音乐网页版找一下你想要听的歌曲点击进去.按键盘F12打开网页调试工具,点击Ne ...

最新文章

  1. 西湖大学鞠峰组:环境宏病毒组学分析思路与常用工具
  2. 漫画:什么是 “代理模式” ?
  3. 【转】多线程Core Data
  4. 高手都不用dw_雅诗兰黛DW粉底液好用吗?雅诗兰黛DW粉底液如何辨别真假?
  5. 2021-11-12Date类
  6. boost::range模块strided相关的测试程序
  7. TCP/UDP网络编程入门教程之二:TCP Server端——socket与文件描述符
  8. 好用的vp n推荐2020_哪个牌子的沐浴露好,2020年最新沐浴露选购测评,好用好闻易清洗沐浴露品牌推荐...
  9. Java基础学习总结(106)——高级JAVA工程师必需技能
  10. oracle怎么不让别的电脑连接,[转载]修改计算机名字导致oracle连接不上的解决方案...
  11. sd卡、U盘作为启动盘后容量变小处理方法
  12. spss分析方法-T检验
  13. 10.12 SNK中国 游戏客户端 二面40min
  14. 华三交换机查看光模块参数的命令
  15. The second sprint
  16. 盛语小智教育机器人是骗人的_盛语小智机器人骗局揭露【是不是真的有效】多久可以见...
  17. oracle 先决条件失败,linux安装oracle先决条件检查全部失败
  18. oracle+clod+和bolb,Azure存储Blob类型(CloudBlobContainer,CloudBlobClient等)和线程安全
  19. MOGRE学习笔记(2) - MOGRE基础知识总结
  20. 路由基础(Routing)

热门文章

  1. Python3学习(33)--序列和反序列化(二)
  2. 地质勘查项目管理困难重重,需要专业软件来解决
  3. 6:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转
  4. ConvNeXt+YOLOv7改进方案
  5. asterisk拨号规则(包含匹配规则说明)转
  6. 在英特尔独立显卡上部署YOLOv5 v7.0版实时实例分割模型
  7. JVM中如何排查CPU飙高的问题
  8. 微信小程序功能:商品收藏-图片预览-客服-分享-加入购物车
  9. 微信小程序01:关于错误Page pages/goods_list/index has not been registered yet.的原因
  10. netbackup 备份oracle,Netbackup 6 备份 oracle 9.2