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

前言

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

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

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

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

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

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

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

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

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

Python 模拟爬虫抓取用户信息以及人际拓扑关系,使用scrapy爬虫框架,数据存储使用mongo数据库。   本地运行请注意:爬虫依赖mongo和rabbitmq,因此这两个服务必须正常运行和配置。为了加快下载效率,图片下载是异步任务,因此在启动爬虫进程执行需要启动异步worker,启动方式是进入zhihu_spider/zhihu目录后执行下面命令:   celery -A zhihu.tools.async worker --loglevel=info   爬虫项目部署:   进入zhihu_spider后执行```docker-compose up``` ,进入container后和本地运行方法相同,依次启动mongo、rabbitmq、异步任务、爬虫进程即可。   其它需要说明的问题:   爬虫框架从start\_requests开始执行,此部分会提交乎主页的访问请求给引擎,并设置回调函数为post_login.   post\_login解析主页获取\_xsrf保存为成员变量中,并提交登陆的POST请求,设置回调函数为after\_login.   after\_login拿到登陆后的cookie,提交一个start\_url的GET请求给爬虫引擎,设置回调函数parse\_people.   parse\_people解析个人主页,一次提交关注人和粉丝列表页面到爬虫引擎,回调函数是parse\_follow, 并把解析好的个人数据提交爬虫引擎写入mongo。   parse\_follow会解析用户列表,同时把动态的人员列表POST请求发送只引擎,回调函数是parse\_post\_follow,把解析好的用户主页链接请求也发送到引擎,人员关系写入mongo。   parse\_post\_follow单纯解析用户列表,提交用户主页请求至引擎。
爬取Keep用户数据是指通过网络爬虫技术获取Keep健身应用的用户数据信息。下面是一个关于如何爬取Keep用户数据的简单介绍。 首先,我们需要使用Python编程语言来开发网络爬虫Python有许多强大的库和框架,如BeautifulSoup和Scrapy,可以帮助我们实现网页的爬取数据提取。 其次,我们需要分析Keep健身应用的网页结构。通过查看网页源代码,我们可以了解到用户数据可能包含在哪些标签中,以及如何进行提取。例如,用户昵称可能位于<span>标签中,用户身高和体重可能位于<div>标签中。 接下来,我们使用网络爬虫技术对Keep健身应用的网页进行遍历和解析。通过发送HTTP请求,我们可以获取网页的响应,并使用BeautifulSoup库将其解析为可操作的数据结构。 然后,我们需要编写代码来提取用户数据。根据前面的分析,我们可以使用BeautifulSoup的查找函数来定位目标标签,并提取其中的文本数据。然后,我们可以将这些数据保存到本地文件或数据库中,以便后续分析和使用。 最后,我们需要设置合适的爬取策略和限制,以避免对Keep服务器的过度请求和造成不必要的负担。可以通过设置爬取频率、请求头信息等方式来规范爬取行为。 需要注意的是,对于用户数据爬取,我们需要遵守相关的法律法规和道德准则。在进行任何爬取活动之前,我们应该了解并遵守相关的隐私保护和数据使用政策,确保数据的合法获取和使用。 综上所述,爬取Keep用户数据需要运用网络爬虫技术,通过分析网页结构和编写提取代码来实现。在进行数据爬取时,我们应该合法合规,并充分尊重用户的隐私权。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值