Python实现登录人人网并抓取新鲜事的方法

yizhihongxing

Python实现登录人人网并抓取新鲜事的方法可以分为以下几个步骤:

1.导入requests和BeautifulSoup模块

import requests
from bs4 import BeautifulSoup

2.获取登录页面信息,分析登录页面的HTML结构并提取需要post的数据

login_url = 'http://www.renren.com/ajaxLogin/login'
session = requests.session()
response = session.get('http://www.renren.com/')
soup = BeautifulSoup(response.text, 'html.parser')
form = soup.find('form', attrs={'id': 'loginForm'})
action_url = form['action']
lt = form.find('input', attrs={'name': 'lt'})['value']
execution = form.find('input', attrs={'name': 'execution'})['value']
psp = form.find('input', attrs={'name': 'psp'})['value']  # password加密方式
_data = {
    'email': '输入你的账号',
    'password': '输入你的密码',
    'icode': '',
    'origURL': 'http://www.renren.com/home',
    'domain': 'renren.com',
    'key_id': '1',
    'captcha_type': 'web_login',
    'rt': '',
    'execution': execution,
    '_eventId': 'submit',
    'lt': lt
}
response = session.post(action_url, data=_data)

3.多次发送请求并获取新鲜事信息,解析HTML结构并提取需要的内容

for i in range(10):  # 获取十页新鲜事信息
    url = 'http://www.renren.com/feedretrieve?requestToken=-136 ed017-c5c0-4dd2-a69e-5c17bfdc5afd&start={}&limit=10&publisher=0&_=1510234173952'\
          .format(10*i)
    response = session.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    for item in soup.find_all('div', attrs={'class': 'content'}):
        print(item.text.strip())

这里给出两条示例说明:

示例1:

如果你想要保存获取到的新鲜事信息到文件中,可以使用以下代码:

with open('news.txt', 'w', encoding='utf-8') as f:
    for i in range(10):
        url = 'http://www.renren.com/feedretrieve?requestToken=-136 ed017-c5c0-4dd2-a69e-5c17bfdc5afd&start={}&limit=10&publisher=0&_=1510234173952'\
              .format(10*i)
        response = session.get(url)
        soup = BeautifulSoup(response.text, 'html.parser')
        for item in soup.find_all('div', attrs={'class': 'content'}):
            f.write(item.text.strip() + '\n')  # 将新鲜事信息写入文件中,每个新鲜事占一行
        print('第{}页新鲜事已保存'.format(i+1))

示例2:

如果你想将获取到的新鲜事信息存入数据库中,可以使用以下代码:

首先,需要安装pymysql模块:

!pip install pymysql

然后,将以下代码插入到第三个步骤中的for循环中:

import pymysql

# 连接数据库
db = pymysql.connect(host='localhost', user='root', password='password', db='test', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)
cursor = db.cursor()
for item in soup.find_all('div', attrs={'class': 'content'}):
    sql = "INSERT INTO `news` (`content`) VALUES ('{}')".format(item.text.strip())
    cursor.execute(sql)
db.commit()
db.close()
print('第{}页新鲜事已保存至数据库'.format(i+1))

这样,就可以将获取到的新鲜事信息存储到名为news的数据表中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现登录人人网并抓取新鲜事的方法 - Python技术站

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

相关文章

  • 整理Python最基本的操作字典的方法

    当我们在Python中处理字典数据时,会涉及到一些最基本的操作,如增加键值对、修改键值对、删除键值对、清空字典、遍历字典等操作。本文将详细讲解这些操作在Python中的实现方式。 字典基本操作 创建字典及基本访问操作 Python中创建字典和访问字典中的元素都非常简单,可以用{}或dict()方法来创建字典,用键来访问字典中的值。如下面的代码: # 创建字典…

    python 2023年5月13日
    00
  • Python入门教程(四十三)Python的NumPy数据类型

    Python入门教程(四十三)Python的NumPy数据类型 简介 NumPy是Python科学计算的基础库之一,实现了N维数组对象和一系列的数组操作函数。使用NumPy可以进行向量化计算,从而更加高效地处理大规模数据。本篇教程将介绍NumPy的数据类型。 数据类型 NumPy与Python内置的数据类型不同,它提供了更多支持科学计算的数据类型。常用的数据…

    python 2023年6月5日
    00
  • python 实现两个字符串乘法小练习

    这里我们就来详细讲解一下Python实现两个字符串乘法的小练习,包含以下内容: 题目介绍 思路分析 详细代码实现 示例说明 1.题目介绍 这是一道比较基础的字符串乘法小练习,给定两个只包含数字的字符串num1和num2,求它们的乘积,返回一个字符串表示。 例如: 输入: num1 = “2”, num2 = “3”,输出: “6” 输入: num1 = “1…

    python 2023年6月5日
    00
  • Python一行代码实现生成和读取二维码

    生成和读取二维码在实际的应用中具有广泛的应用场景,Python语言提供了很多强大的库来实现这种功能。其中最常用的是qrcode和opencv-python库。接下来就详细讲解如何在Python中使用这两个库来实现生成和读取二维码。 生成二维码 安装qrcode库 我们使用qrcode库来生成二维码,首先需要安装这个库。可以使用pip来安装这个库: pip i…

    python 2023年5月18日
    00
  • 基于Python实现简易学生信息管理系统

    基于Python实现简易学生信息管理系统 系统简介 本系统是基于Python语言实现的简易学生信息管理系统。它可以方便地增加、删除、修改和查询学生信息,同时支持将信息存储到文件或者从文件中读取信息。系统主要包含以下功能模块: 添加学生信息 删除学生信息 修改学生信息 查询学生信息 展示所有学生信息 保存学生信息到文件 从文件中读取学生信息 系统实现 数据结构…

    python 2023年5月19日
    00
  • 通过python连接Linux命令行代码实例

    下面是详细的攻略,我将分部分介绍: 1. 前置条件 在开始之前,我们需要确保以下几点: 拥有一台Linux服务器,该服务器能够通过ssh方式远程访问; 在本地电脑安装Python编程语言以及相关的库,如paramiko。 2. 安装paramiko库 paramiko是Python中处理SSH连接的库。我们需要安装该库,以便于编写Python代码连接Linu…

    python 2023年5月20日
    00
  • python替换字符串中的子串图文步骤

    下面是详细讲解 Python 替换字符串中的子串的攻略: 1. 需求背景 有时候我们需要对一个字符串中的某些特定字符串进行替换,这时候就需要使用字符串的替换功能。Python 中有多种方式可以实现字符串的替换。 2. 方法一:字符串 replace() 方法 2.1 概述 Python 内置的 replace() 方法可以用于替换字符串中的指定子串。 2.2…

    python 2023年6月5日
    00
  • python爬虫urllib中的异常模块处理

    Python爬虫中,处理异常是非常重要的一项基本技能。在使用Python的urllib库进行爬虫时,我们需要使用异常模块来捕获和处理可能遇到的异常情况,进而增强程序的稳定性。本篇攻略将介绍如何使用Python爬虫urllib中的异常模块处理。 urllib库中的异常模块 在Python中,urllib库中的异常模块包含在urllib.error中,可以用来处…

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