利用python爬取人人贷网的数据

人人贷网站需要用户登录才能看到其相应的借贷人信息。也就是说在爬取数据时,需要用户登录。回顾之前的代码,我想是保存cookie这种方法是不能用了。必须找到一种新的方法来模拟登录网站。查了许多资料,数据捉取无外乎有3种方法:

1.直接抓取数据。

2.模拟浏览器抓取数据。

3.基于API接口抓取数据

综合分析,我决定用第2种方法"模拟浏览器登录",那得找好相应的python包,网上有:mechanize,selenium等等。

1.mechanize包的尝试

br.select_form(nr = 0) # Find the login form
br['vb_login_username'] = '你的用户名'
br['vb_login_password'] = '你的注册密码'

这段代码中老是遇到问题,第一,select_form中的nr怎么找,第二,在人人贷网站源代码中如何找所谓的'vb_login_username','vb_login_password'的专有名词。

其实我在代码测试中还是找到对于的nr=0,但是找了好久找不到对应的'vb_login_username'。(个人不太懂html,学的比较菜,有兴趣的可以尝试一下)。后来听朋友说可以试试selenium。

前面废话说了一大堆,都是我学的比较菜,也就是我的经验之谈。

2.selenium包的尝试(重点)

首先你得安装好它,直接pip install selenium即可。而且还要下载相应的浏览器驱动(这里我的运行环境是linux,python好像是3.0以上的,浏览器是firefox)

驱动的下载地址为https://github.com/mozilla/geckodriver/releases(下载好自己系统的版本),然后放到相应的PATH路径中,否则找不到driver。

Window下驱动的放置位置:

  将geckodriver.exe复制到C:\Program Files (x86)\mozilla firefox目录下;   并在环境变量Path中添加路径:C:\Program Files (x86)\mozilla firefox;   重启cmd,再次运行即可;

Linux下驱动的放置位置:

   解压后将geckodriver存放至 /usr/local/bin/ 路径下即可    sudo mv ~/Downloads/geckodriver /usr/local/bin/

相应代码如下:

相应数据图展示:

PS:
  其中'loanId2.csv'是之前博客(http://www.cnblogs.com/Yiutto/p/5890906.html)
  爬取整理的loanId,只有通过loanId才能爬取借贷人信息。

  后来运行上述代码大概爬了3000多条就中断了(应该是同一ip访问过多的问题),如果需要大量数据的可以考虑分批爬取,多台电脑同时进行。

本文分享自微信公众号 - 大数据挖掘DT数据分析(datadw)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-02-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JAVA高级架构

2018年一线互联网公司Java高级面试题总结

1、hashcode相等两个类一定相等吗?equals呢?相反呢? 2、介绍一下集合框架? 3、hashmap hastable 底层实现什么区别?hashta...

62780
来自专栏从零开始学自动化测试

selenium+python自动化89-unittest多线程执行用例

前言 假设执行一条脚本(.py)用例一分钟,那么100个脚本需要100分钟,当你的用例达到一千条时需要1000分钟,也就是16个多小时。。。 那么如何并行运行多...

47450
来自专栏pangguoming

ubuntu 64位android项目报错的解决方案,打开64位 Ubuntu 的32位支持功能

ubuntu的64位下的android环境,说实话,还真得费点精力了,解决一个问题,又出来一个新问题。 小编昨天刚好不容易将android的环境搭建好了,这不,...

30150
来自专栏java初学

scrapy(2)——scrapy爬取新浪微博(单机版)

1.1K150
来自专栏Python爬虫与数据挖掘

如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)

前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入。

35520
来自专栏Golang语言社区

PHP调用Go服务的正确方式 - Unix Domain Sockets

作者:枕边书 链接:http://www.cnblogs.com/zhenbianshu/p/7265415.html 來源:博客园 问题 可能是由于经验太少,...

49690
来自专栏安恒网络空间安全讲武堂

radare2介绍及简单使用

本文作者:binlmmhc 0x01---radare2介绍 最近在看别人的病毒分析报告的时候,看到别人使用了radare2这个开源二进制分析平台,发现这个平台...

3.2K90
来自专栏Java后端技术

Spring+SpringMvc+Mybatis框架集成搭建教程一(项目创建)

  2.选择Maven->Create from artchetype并选择如下图红框中的骨架

9310
来自专栏Janti

记一次内存溢出的分析经历——thrift带给我的痛orz

说在前面的话 朋友,你经历过部署好的服务突然内存溢出吗? 你经历过没有看过Java虚拟机,来解决内存溢出的痛苦吗? 你经历过一个BUG,百思不得其解,头发一根一...

59280
来自专栏星汉技术

HBase工作原理

538110

扫码关注云+社区

领取腾讯云代金券