Python知乎爬虫———爬取用户基本数据到数据库完整代码(萌新版)

前言

大佬勿喷,萌新刚入坑,没有多么正确的词汇,纯自娱自乐,爬虫没有使用scrapy,简单的使用了webdriver selenium,正则表达式,response,xpath对网页数据进行提取。 爬取知乎首先要登录知乎,不然爬取未登录的知乎网页会自动跳转到知乎登录页面,由于知乎的滑动验证未解决(原因:利用selenium模拟浏览器点击输入账号密码后,跳出的滑动验证码需要对图片进行识别处理,知识盲区)用webdriver打开浏览器,一次登录,保存cookies值,跳过了登录步骤,然后进行数据爬取。

本代码主要爬取知乎的用户信息,包括:名字,介绍,居住地,所在行业,职业经历,教育经历,个人简介,回答数,视频量,提问数,文章数,专栏,想法,收藏,个人成就等;
如图:在这里插入图片描述

对知乎页面组成进行分析:

  • 在知乎首页进行开始操作,代码将提取用户事件分为三种情况;
    1、可以提取热点内容下的用户信息
    2、可以直接利用知乎中的搜索框搜索指定用户名的相关信息
    3、利用知乎的搜索框搜索问题,提取问题下用户列表的相关用户信息

  • 然后开始对指定网页的提取,将每一个网页的提取步骤写在一个函数中,多次调用即可;

  • 最后将提取的用户信息保存在excel表中
    注:也可将数据保存在数据库中,详见Python爬虫爬取数据到sqlite数据库实例只需修改保存数据的函数即可

因为代码数目过多代码地址资源已上传

不足:我是按照目标值提取数据的,但是如果数据过多,知乎的页面是需要向下滑动加载的,我参考了别人的很多方法,这里使用的是用js语句模拟滚动条向下滑动。这里有一个硬性问题有待解决:我先加入了一种判断语句,如果下滑到底端就自动停止加载,这就使得如果网络卡顿时,他会自己提前结束加载,导致获取的数据达不到目标值。

如果哪位大佬可以解决,请不吝赐教。

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值