Python实现自动登录人人网并采集信息的方法
简介
人人网是一款国内知名的社交网站,我们可以通过Python来自动登录人人网并采集信息。
步骤
- 模拟登录人人网
首先,我们需要模拟登录人人网,需要使用到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))
- 采集个人资料
成功登录人人网后,我们可以开始采集个人资料:昵称、头像、个性标签等等。
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)))
- 采集好友列表
获取自己的个人资料后,我们可以开始采集好友列表。使用以下代码可以获取好友列表:
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技术站