python爬虫之人人网模拟登陆示例详解

这篇具有很好参考价值的文章主要介绍了python爬虫之人人网模拟登陆示例详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

人人网是中国大陆较早起的社交网站之一,拥有大量的用户。由于随机访问人人网个人主页需要登陆,因此需要使用模拟登陆技术来实现数据的爬取。本文将就人人网的模拟登陆实例进行详细剖析。

获取登陆页面信息
模拟登陆首先需要获取人人网的登陆页面信息,也就是登陆页面的 URL、表单数据和请求头。可以通过浏览器自带的“检查”功能来获取这些信息,方法和前面提到的示例类似。

具体来说,可以在右键点击观察选项卡的区域选择“检查”选项,进入页面元素的开发者工具。在开发者工具中选择“Network”选项卡,刷新页面后可以看到所有发送过的请求。选择第一个请求,查看“Headers”选项卡,就可以了解需要提交的请求头信息。

随后在同样的请求下选择“Form Data”选项卡,就可以了解需要提交的表单数据了。

编写模拟登陆代码
获取到人人网的登陆页面信息之后,就可以开始编写模拟登陆代码了。我们先导入必要的库:

import requests
from bs4 import BeautifulSoup

接下来将所得到的请求头信息和表单数据进行整合和封装,创建一个字典:

请求头信息

headers = {
‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36’
}

整合表单数据
formData = {
“email”: “your_email”,
“password”: “your_password”,
“origURL”: “http://www.renren.com/home”,
“domain”: “renren.com”,
“key_id”: “1”,
“captcha_type”: “web_login”,
“captcha_input”: “任意验证码”,
“u”: “http://www.renren.com/home”
}

需要注意的是,这里的邮箱和密码需要自己填写(如有修改账号密码可以相应修改),同时尤其是人人网,验证码是一个关键问题,实际爬虫时建议使用机器智能验证码识别或手动输入验证码的方式。

接下来可以使用 requests 库进行模拟登陆操作:

登陆

session = requests.session() # 创建会话对象
login_url = ‘http://www.renren.com/ajaxLogin/login?1=1&uniqueTimestamp=2021151733108’
session.post(login_url, headers=headers, data=formData)

以上代码的主要作用是在会话对象中进行 post 请求,并携带了请求头和表单数据。

最后就可以使用获取到的 session 对象访问人人网的个人中心了:

发送请求

baseurl = ‘http://www.renren.com/’
response = session.get(baseurl, headers=headers)
soup = BeautifulSoup(response.content, ‘lxml’)

由于人人网的页面是 HTML 制作而成,所以我们可以使用 BeautifulSoup 库来解析页面的 HTML 代码。

测试代码
完成代码编写后,我们需要进行测试以确保登陆操作已经成功。可以通过打印输出的语句、响应的站点状态码(status code)和页面验证(validation)检查等方式来确认是否登陆成功。例如,按以下方式来进行测试:

获取个人中心名字

name = soup.find_all(“a”, class_=“user-name”)[0].string
print(name)

如果“name”可以正确输出人人网的用户昵称,则说明登陆成功。

总结

对于模拟登陆人人网,首先需要获取登陆页面的 URL、表单数据和请求头信息;然后可以使用 requests 库中的 session 对象来发送 post 请求,最后使用 BeautifulSoup 解析出个人中心页面的 HTML 代码即可。总体来说,模拟登陆的技术实现是一个复杂的过程,需要掌握各种网络知识和 Python 库的使用技巧。建议在完成一个爬虫项目之后,进行反思和总结,不断优化自己的编码水平和方法。文章来源地址https://www.toymoban.com/news/detail-467016.html

到了这里,关于python爬虫之人人网模拟登陆示例详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python爬虫之selenium下拉滚动示例

    首先,我们需要明确,在许多网站的滚动页面加载新的内容的时候,是需要进行下拉操作的。这就使得我们需要使用selenium来模拟用户的下拉操作以获取更多的数据。 在selenium中,我们需要引入webdriver库和Keys类。webdriver是一个浏览器自动化驱动程序,而Keys类则用于模拟键盘事

    2024年02月16日
    浏览(44)
  • Python爬虫(7)selenium3种弹窗定位后点击操作,解决点击登录被隐藏iframe无法点击的登陆问题

    之前的文章有关于更多操作方式详细解答,本篇基于前面的知识点进行操作,如果不了解可以先看之前的文章 Python爬虫(1)一次性搞定Selenium(新版)8种find_element元素定位方式 Python爬虫(2)-Selenium控制浏览器 Python爬虫(3)-Selenium结合pywin32模拟键盘操作 Python爬虫(4)-Seleni

    2024年02月04日
    浏览(59)
  • Python爬虫:Selenium的介绍及简单示例

    Selenium是一个用于自动化Web应用程序测试的开源工具。它允许开发人员模拟用户在浏览器中的交互行为,以便自动执行各种测试任务,包括功能测试、性能测试和回归测试等。Selenium最初是为Web应用程序测试而创建的,但它也可用于Web数据抓取和其他自动化任务。 以下是关于

    2024年02月09日
    浏览(40)
  • python爬虫之redis安装及使用示例

    Redis是一个开源的、内存中的数据结构存储,用于缓存、消息队列和会话存储等。Redis的数据结构非常强大,例如支持Hash、String、Set和List等数据类型,而且能够使用Lua脚本进行批量操作,因此在Python爬虫工具中被广泛应用。在本文中,我们将向您介绍Redis在Python爬虫中的运用

    2024年02月08日
    浏览(37)
  • python爬虫之selenium嵌套网页示例讲解

    Selenium是一款非常流行的Web自动化测试框架,它可以模拟用户在浏览器上执行的各类操作,如:点击链接,填写表单,滚动页面等。这使得Selenium成为了一个非常强大的爬虫工具。在爬取网页时,Selenium可以通过模拟用户的操作来解决一些常见的爬虫难题,如JavaScript渲染或需要

    2024年02月10日
    浏览(47)
  • Python爬虫教程:Selenium模拟登录

    Selenium(本文基于python3.8)是一个功能强大的自动化测试工具,它可以用于模拟用户在浏览器中的行为,比如点击、输入、滚动等等,也可用于模拟登录网站并进行爬虫操作。本教程将详细介绍如何使用Python编写一个模拟登录地爬虫,使用XPath等多种元素匹配方法。 在开始之

    2024年02月04日
    浏览(49)
  • Python爬虫(4)-Selenium模拟鼠标操作

    在Selenium4.2以后的版本里面鼠标的操作方法都封装在了ActionChains中需要时直接取即可。 使用方法就是调用ActionChains然后传入你需要点击的按钮的位置即可 ActionChains(driver).double_click(f1).perform() perform()的意思就是执行所有ActionChains中的动作 具体的操作方法如下 鼠标单击就是直接

    2024年01月19日
    浏览(52)
  • Python爬虫-使用Selenium模拟百度登录

        前面我已经安装好了Selenium并模拟成功了一下打开百度页面并进行查询,让我这个python初学者信心倍增,今天再来试一试百度登录 把打开百度的代码放到构造方法中 ps:那个文件目录是用于后面滑块验证图片保存的。 点击右上角的“登录”按钮,打开登录框, 代码如下:

    2024年02月06日
    浏览(57)
  • 【python爬虫】设计自己的爬虫 4. 封装模拟浏览器 Selenium

    有些自动化工具可以获取浏览器当前呈现的页面的源代码,可以通过这种方式来进行爬取 一般常用的的有Selenium, playwright, pyppeteer,考虑到他们的使用有许多相同之处,因此考虑把他们封装到一套api中 先看基类 Selenium是一个自动化测试工具,利用它可以驱动浏览器完成特定

    2024年02月03日
    浏览(63)
  • python爬虫之selenium模拟浏览器

    之前在异步加载(AJAX)网页爬虫的时候提到过,爬取这种ajax技术的网页有两种办法:一种就是通过浏览器审查元素找到包含所需信息网页的真实地址,另一种就是通过selenium模拟浏览器的方法[1]。当时爬的是豆瓣,比较容易分析出所需信息的真实地址,不过一般大点的网站像

    2024年02月03日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包