python实现自动登录人人网并采集信息的方法

Python实现自动登录人人网并采集信息的方法

简介

人人网是一款国内知名的社交网站,我们可以通过Python来自动登录人人网并采集信息。

步骤

  1. 模拟登录人人网

首先,我们需要模拟登录人人网,需要使用到requests和BeautifulSoup库。可以按照以下步骤进行登录:

import requests
from bs4 import BeautifulSoup

session = requests.Session()  # 创建Session对象
login_url = 'http://www.renren.com/PLogin.do'  # 登录的url地址
login_data = {'email': 'your_username', 'password': 'your_password'}  # 登录的手机号/账号/邮箱和密码
resp = session.post(login_url, data=login_data)  # 使用Session发送post请求,进行登录
soup = BeautifulSoup(resp.text, 'html.parser')  # 使用BeautifulSoup解析返回结果
name = soup.find('title').string  # 获取登录成功后的标题
print('登录成功,{}'.format(name))
  1. 采集个人资料

成功登录人人网后,我们可以开始采集个人资料:昵称、头像、个性标签等等。

url = 'http://www.renren.com/your_user_id/profile'  # 个人主页url
resp = session.get(url)  # 使用Session发送get请求获取个人主页信息
soup = BeautifulSoup(resp.text, 'html.parser')  # 使用BeautifulSoup解析返回结果
name = soup.find('span', class_='title-text').text.strip()  # 获取昵称
avatar = soup.find('img', class_='photo')['src']  # 获取头像
tags = soup.find_all('a', class_='interested_item')  # 获取个性标签
tag_list = [tag.text for tag in tags]
print('昵称:{}'.format(name))
print('头像:{}'.format(avatar))
print('个性标签:{}'.format(','.join(tag_list)))
  1. 采集好友列表

获取自己的个人资料后,我们可以开始采集好友列表。使用以下代码可以获取好友列表:

friend_url_list = ['http://friend.renren.com/GetFriendList.do?curpage={}&id=your_user_id'.format(i) for i in range(1, 10)]  # 好友列表url
for friend_url in friend_url_list:
    resp = session.get(friend_url)  # 使用Session发送get请求获取好友列表信息
    soup = BeautifulSoup(resp.text, 'html.parser')  # 使用BeautifulSoup解析返回结果
    friend_list = soup.find_all('div', class_='info')  # 获取好友信息列表
    for friend in friend_list:
        name = friend.find('span', class_='name').text.strip()  # 获取好友名称
        print('好友名称:{}'.format(name))

示例

第一个示例中,我们可以通过模拟登录人人网并采集个人资料来获取自己的个人主页的昵称、头像和个性标签:

import requests
from bs4 import BeautifulSoup

session = requests.Session()  # 创建Session对象
login_url = 'http://www.renren.com/PLogin.do'  # 登录的url地址
login_data = {'email': 'your_username', 'password': 'your_password'}  # 登录的手机号/账号/邮箱和密码
resp = session.post(login_url, data=login_data)  # 使用Session发送post请求,进行登录
soup = BeautifulSoup(resp.text, 'html.parser')  # 使用BeautifulSoup解析返回结果
name = soup.find('title').string  # 获取登录成功后的标题
print('登录成功,{}'.format(name))

url = 'http://www.renren.com/your_user_id/profile'  # 个人主页url
resp = session.get(url)  # 使用Session发送get请求获取个人主页信息
soup = BeautifulSoup(resp.text, 'html.parser')  # 使用BeautifulSoup解析返回结果
name = soup.find('span', class_='title-text').text.strip()  # 获取昵称
avatar = soup.find('img', class_='photo')['src']  # 获取头像
tags = soup.find_all('a', class_='interested_item')  # 获取个性标签
tag_list = [tag.text for tag in tags]
print('昵称:{}'.format(name))
print('头像:{}'.format(avatar))
print('个性标签:{}'.format(','.join(tag_list)))

第二个示例中,我们可以通过模拟登录人人网并采集好友列表来获取自己的好友列表:

import requests
from bs4 import BeautifulSoup

session = requests.Session()  # 创建Session对象
login_url = 'http://www.renren.com/PLogin.do'  # 登录的url地址
login_data = {'email': 'your_username', 'password': 'your_password'}  # 登录的手机号/账号/邮箱和密码
resp = session.post(login_url, data=login_data)  # 使用Session发送post请求,进行登录
soup = BeautifulSoup(resp.text, 'html.parser')  # 使用BeautifulSoup解析返回结果
name = soup.find('title').string  # 获取登录成功后的标题
print('登录成功,{}'.format(name))

friend_url_list = ['http://friend.renren.com/GetFriendList.do?curpage={}&id=your_user_id'.format(i) for i in range(1, 10)]  # 好友列表url
for friend_url in friend_url_list:
    resp = session.get(friend_url)  # 使用Session发送get请求获取好友列表信息
    soup = BeautifulSoup(resp.text, 'html.parser')  # 使用BeautifulSoup解析返回结果
    friend_list = soup.find_all('div', class_='info')  # 获取好友信息列表
    for friend in friend_list:
        name = friend.find('span', class_='name').text.strip()  # 获取好友名称
        print('好友名称:{}'.format(name))

总结

以上是Python实现自动登录人人网并采集信息的方法的完整攻略。我们可以使用requests和BeautifulSoup库进行模拟登录和信息采集。可以根据项目需求进行相应的改动,发挥出Python的强大功能。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现自动登录人人网并采集信息的方法 - Python技术站

(0)
上一篇 2023年6月6日
下一篇 2023年6月6日

相关文章

  • Python Selenium Webdriver Wait.Until 显示错误恰好需要 2 个参数 3 给出

    【问题标题】:Python Selenium Webdriver Wait.Until is showing error takes exactly 2 arguments 3 givenPython Selenium Webdriver Wait.Until 显示错误恰好需要 2 个参数 3 给出 【发布时间】:2023-04-04 19:14:01 【问…

    Python开发 2023年4月6日
    00
  • python Selenium实现付费音乐批量下载的实现方法

    Python Selenium实现付费音乐批量下载的实现方法 简介 付费音乐下载受到版权保护,通常需要用户登录并支付费用后才能进行下载。本文将介绍如何使用Python Selenium库实现批量下载付费音乐。 步骤 1. 安装Selenium库 首先需要下载并安装Selenium库。在命令行中输入以下命令即可: pip install selenium 2.…

    python 2023年6月3日
    00
  • 利用python实现聚类分析K-means算法的详细过程

    Python实现K-means聚类算法 K-means聚类算法是一种常用的无监督学习算法,它的主要思想是将数据集划分为K个簇,使得同一簇内的数据点相似度较高,不同簇之间的数据点相似度较低。本文将详细讲解如何使用Python实现K-means聚类算法,并提供两个示例说明。 K-means聚类算法原理 K-means聚类算法的基本思想是从数据集中随机选择K个点作…

    python 2023年5月14日
    00
  • Tornado Web Server框架编写简易Python服务器

    下面我将为您详细讲解“Tornado Web Server框架编写简易Python服务器”的完整攻略。 1. 简介 Tornado是一个轻量级的Python Web框架,因为其高并发、异步I/O等特性而受到广泛关注和使用。其中,tornado.web模块是Tornado Web框架的核心部分,包含了HTTP请求和响应的封装,可以快速地编写出一个基于HTTP的…

    python 2023年6月3日
    00
  • Python和Bash结合在一起的方法

    那么下面就来详细讲解“Python和Bash结合在一起的方法”的完整攻略。 1. 背景和概述 Python 是一门高级编程语言,可以帮助我们完成许多复杂的计算机任务;Bash 是一个 Unix 操作系统下的 shell,提供了一种与操作系统交互的命令行界面。将 Python 和 Bash 结合在一起,我们可以得到一个更加强大、灵活的工具链。 Python 和…

    python 2023年6月3日
    00
  • 深入讲解Python中的迭代器和生成器

    标题:深入讲解Python中的迭代器和生成器 什么是迭代器? Python中的迭代器是一种访问集合元素的对象,可以使用for循环遍历集合中的元素,同时也可以使用next()函数逐个访问集合中的元素。 迭代器的定义 迭代器对象从一个集合中取出一个元素后,依次再取出下一个元素,直到取出集合中的所有元素为止。迭代器的定义需要满足以下条件: 实现 next() 方法…

    python 2023年6月3日
    00
  • Python利用Turtle绘画简单图形

    下面是“Python利用Turtle绘画简单图形”的完整攻略。 什么是Turtle? Turtle是Python内置的图形绘制模块,原本是Logo语言中的一部分。它提供了一组图形化的指令,能够方便地绘制各种形状,并且支持复杂的图形组合。使用Turtle,可以通过简单的语言来创建复杂的图形,非常适合初学者学习。 安装Turtle 如果您使用的是Python3.…

    python 2023年5月19日
    00
  • python 同时读取多个文件的例子

    下面是关于”python 同时读取多个文件的例子”的完整攻略,详细步骤如下: 1. 准备多个文件 首先我们需要准备多个文件,假设我们在同一个目录下准备了 3 个文本文件,分别是 file1.txt、file2.txt 和 file3.txt。 2. 导入所需的 Python 模块 接下来我们需要导入所需的 Python 模块,包括 os 和 glob 模块,…

    python 2023年6月5日
    00
合作推广
合作推广
分享本页
返回顶部