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

yizhihongxing

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面向对象程序设计示例小结

    让我来详细讲解“Python面向对象程序设计示例小结”的完整攻略。 什么是面向对象编程 面向对象编程是一种程序设计思想,其核心概念是类和对象。一个类定义了一种对象的属性和方法,而对象则是类的一个实例。面向对象编程允许程序员从更高的层次上思考程序的逻辑关系,并且可以更方便地编写复杂的程序。 Python中的面向对象编程 Python是一种完全面向对象的编程语言…

    python 2023年5月30日
    00
  • 使用seaborn绘制强化学习中的图片问题

    使用seaborn库能够方便地绘制强化学习中的数据图表。下面是绘制强化学习中的图片的完整攻略: 准备 在开始绘制之前,需要安装最新版本的seaborn库。可以使用以下命令安装它: pip install seaborn 在绘制一个数据图表前,需要先准备好数据,这里假设我们的数据存储在一个Pandas数据框中。具体而言,本文中的示例使用了q_table数据框。…

    python 2023年5月18日
    00
  • Python中的pathlib.Path为什么不继承str详解

    Python中的pathlib.Path为什么不继承str详解 pathlib是Python 3.4中引入的一个标准库,用于处理文件路径。Path是pathlib库中的一个类,用于表示文件路径。与os.path不同,Path类提供了一种面向对象的方式来处理文件路径。Path类的设计有一个特点,就是它没有继承str类。本文将详细讲解为什么Path类不继承str…

    python 2023年5月15日
    00
  • python乱序字符串排序的实现方式

    下面是关于Python乱序字符串排序的完整攻略: 1. 什么是乱序字符串排序 乱序字符串排序,指的是对由任意个字符串元素组成的字符串进行排序。这个排序可以按照不同的规则来进行,如按照字典序升序排列、按照字符串长度升序排列等。 2. 乱序字符串排序的实现方式 下面介绍两种基于Python语言的乱序字符串排序的实现方式: 2.1 使用sorted函数实现 通过P…

    python 2023年6月3日
    00
  • Python实现的Excel文件读写类

    下面为你详细讲解Python实现的Excel文件读写类的完整实例教程。 一、前言 Excel文件是我们日常工作中非常常见的文件类型,尤其是在数据处理方面。在Python中,我们可以使用第三方库openpyxl来实现Excel文件的读写操作,本实例以此为基础进行讲解。 二、准备工作 在开始编写代码之前,我们需要在Python中安装openpyxl库。 可以通过…

    python 2023年5月13日
    00
  • 解决Python Matplotlib绘图数据点位置错乱问题

    解决 Python Matplotlib 绘图数据点位置错乱问题的攻略 问题描述 在使用 Matplotlib 绘图时,可能会遇到数据点位置错乱的问题,即图像中的数据点偏离了应有的位置。这个问题通常出现在数据量比较大、密度比较高的情况下。这会降低图像的可读性,给用户带来困扰。 原因分析 数据点错乱的原因在于 Matplotlib 默认采用的算法不够优秀,无法…

    python 2023年5月18日
    00
  • 使用Python可设置抽奖者权重的抽奖脚本代码

    下面详细讲解一下“使用Python可设置抽奖者权重的抽奖脚本代码”的完整攻略。 确定需求 在开始编写代码之前,我们需要确定需求,也就是明确要做什么。在这个案例中,我们需要编写一个抽奖脚本,需要满足以下两个需求: 根据每个参与者的权重进行抽奖; 抽取的结果需要随机并且公平,避免出现任何人被远远落后的情况。 设计抽奖脚本 构建参与者列表和权重列表 我们需要构建一…

    python 2023年6月3日
    00
  • 安装Python

    转载请注明 来源:http://www.eword.name/Author:ewordEmail:eword@eword.name 安装Python 一、查询是否安装了Python及安装路径 #查看当前Python版本 python –version Python 2.7.16 #查看当前所有Python版本路径 appledeMBP:~ apple$ w…

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