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之复习if语句

    跟老齐学Python之复习if语句 if语句是Python中最常用的控制结构之一。它可以帮助程序员根据某个条件控制程序的执行流程。在这里,我们将回顾一下if语句的基础知识,包括语法,用法和示例。 if语句语法 Python中的if语句语法很简单,它由if关键字,条件表达式和一条或多条语句组成。下面是if语句的基本语法: if condition: # 在条件…

    python 2023年5月20日
    00
  • OpenCV-Python实现轮廓检测实例分析

    下面我将详细讲解“OpenCV-Python实现轮廓检测实例分析”的完整攻略。 一、简介 在图像处理中,轮廓是一组表示物体边界的点。在OpenCV中,轮廓可以使用findContours函数来获取。本文就是通过OpenCV-Python实现轮廓检测实例分析。 二、轮廓获取 要获取图像中的轮廓,可以通过以下步骤实现: 二值化图像。可以使用阈值函数或Canny边…

    python 2023年5月18日
    00
  • python使用cv2库、下载opencv库的方法

    本攻略将介绍如何使用Python的cv2库进行图像处理,并提供下载opencv库的方法。我们将使用pip命令安装cv2库,并使用cv2库进行图像读取、显示和保存。 安装cv2库 我们可以使用pip命令安装cv2库。以下是一个示例代码,用于安装cv2库: pip install opencv-python 在上面的代码中,我们使用pip命令安装cv2库。如果您…

    python 2023年5月15日
    00
  • python解析xml文件实例分析

    Python解析XML文件实例分析 本文将介绍如何使用Python解析XML文件,包括如何解析XML文档、获取XML节点等。同时,我们会提供2个具体的示例来说明XML文件解析过程。 Python解析XML文件的原理 Python解析XML文件的原理是通过DOM、SAX以及ElementTree解析库来实现解析。 其中,DOM解析是将XML文档作为树形结构进行…

    python 2023年6月6日
    00
  • Python命令行定时任务自动化工作流程

    下面我给您详细讲解一下“Python命令行定时任务自动化工作流程”的完整攻略: 1. 背景介绍 在实际工作中,我们经常需要定时执行某些任务,如每天对数据进行备份、定时发送邮件等。使用Python可以很方便地实现这些定时任务的自动化执行,从而减少工作量,提高效率。 2. 工作流程 Python命令行定时任务自动化工作流程一般包括以下步骤: 安装依赖包:需要安装…

    python 2023年5月19日
    00
  • Python如何安装第三方模块

    安装第三方模块是Python程序开发的常见操作,Python社区拥有丰富的第三方库,安装了这些库可以极大地提高Python的功能和效率。下面是Python安装第三方模块的完整攻略。 安装pip pip是Python包管理工具,用于安装和管理第三方Python模块。如果没有pip,需要先安装它。pip的安装方式有很多种,比如使用系统软件包管理器、下载源码安装等…

    python 2023年5月14日
    00
  • Python:用os重命名文件时如何保留文件扩展名?

    【问题标题】:Python: how to retain the file extension when renaming files with os?Python:用os重命名文件时如何保留文件扩展名? 【发布时间】:2023-04-04 19:30:01 【问题描述】: 假设我有一个文件夹,其中包含 n 个要重命名的 csv 文件。新文件名将类似于ABx…

    Python开发 2023年4月6日
    00
  • Python中动态检测编码chardet的使用教程

    关于“Python中动态检测编码chardet的使用教程”的完整攻略,我会介绍以下内容: chardet模块是什么 如何使用chardet模块 chardet模块的示例 chardet模块是什么 chardet模块是Python中用来检测给定字符串的字符编码的模块。它可以自动识别常见的编码(UTF-8、GB2312、GBK、ISO-8859-1等)并进行编码…

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