数据挖掘入门与实战 公众号: datadw 人人贷网站需要用户登录才能看到其相应的借贷人信息。也就是说在爬取数据时,需要用户登录。回顾之前的代码,我想是保存cookie这种方法是不能用了。必须找到一种新的方法来模拟登录网站。查了许多资料,数据捉取无外乎有3种方法: 1.直接抓取数据。 2.模拟浏览器抓取数据。 3.基于API接口抓取数据 综合分析,我决定用第2种方法"模拟浏览器登录",那得找好相应的python包,网上有:mechanize,selenium等等。 1.mechanize包的尝试 br.select_form(nr = 0) # Find the login form 这段代码中老是遇到问题,第一,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.EⅩE复制到C:\ProgramFiles(x86)\mozillafirefox目录下; Linux下驱动的放置位置: 解压后将geckodriver存放至 /usr/local/bin/ 路径下即可 相应代码如下: 相应数据图展示: PS: 后来运行上述代码大概爬了3000多条就中断了(应该是同一ip访问过多的问题),如果需要大量数据的可以考虑分批爬取,多台电脑同时进行。 新浪微博名称:大数据_机器学习 数据挖掘入门与实战 搜索添加微信公众号:datadw 教你机器学习,教你数据挖掘 长按图片,识别二维码,点关注 本文转载于微信公众号: 数据挖掘入门与实战(datadw),更多微信文章请扫描关注公众号: |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|