爬取心理学贴吧的内容

该博客介绍使用Python进行爬虫操作。通过观察百度贴吧网页,发现改变网页链接中pn的值就能获取不同网页,接着从网页源代码获取所需数据,最后对数据进行整理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

首先观察网页:

https://tieba.baidu.com/f?kw=%E5%BF%83%E7%90%86%E5%AD%A6&ie=utf-8&pn=50

 

只需要改变pn的值就能获取到网页,通过网页源代码来获取对应的想要数据

 

代码:

# 导入需要的包
import time

# 模拟http请求 和 解析内容 的包
import requests
from bs4 import BeautifulSoup

# 数据展示 的包
import numpy as np
import pandas as pd
# 设置点击量阈值
M = 3000

# get请求模版
template_url = "https://tieba.baidu.com/f?kw=%E5%BF%83%E7%90%86%E5%AD%A6&ie=utf-8&pn={}"
# 从一页中提取 帖子
def extra_from_one_page(page_lst):
    '''从一页中提取 帖子'''
    # 临时列表保存字典数据,每一个帖子都是一个字典数据
    tmp = []

    for i in page_lst:
        titie=i.find(class_='j_th_tit').text
        dic={}
        dic['title']=titie
        tmp.append(dic)

    return tmp
# 爬取n页的数据
def search_n_pages(n):
    '''爬取n页数据'''
    target = []

    # 发起n次的get请求
    for i in range(n):
        # 跟踪进度
        print('page:', i)

        # 按照浏览贴吧的自然行为,每一页50条
        target_url = template_url.format(50*i)
        res = requests.get(target_url)

        # 转为 bs 对象
        soup = BeautifulSoup(res.text, 'html.parser')
        # print(soup)
        # 获取该页帖子列表
        page_lst = soup.find_all(class_='j_thread_list')
        print(page_lst)
        # 该页信息保存到target
        target.extend(extra_from_one_page(page_lst))

        # 休息0.2秒再访问,友好型爬虫
        time.sleep(0.2)


    return target
# 爬取贴吧前10页数据
d = search_n_pages(10)
# 转化为pandas.DataFrame对象
data = pd.DataFrame(d)

# 导出到excel表格
# data.to_excel('心理学贴吧.xlsx')
pd.DataFrame(data).to_csv('贴吧爬取.csv', encoding='utf-8')

 接下来就可以整理数据:

代码:

 

转载于:https://www.cnblogs.com/Tqin/p/10834885.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值