【爬虫】对某某贴吧主页的爬虫分析+源码

news/2024/7/19 11:32:18 标签: 爬虫

1. 网站分析

  想要的内容有标题、时间和帖子跳转链接

查看网站源代码,发现想要的内容就在里面,那就好办了,直接上正则,当然beautifulsoup也不是不可以

2. Python源码

import requests
import re
from prettytable import PrettyTable

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0'
}
x = PrettyTable(["标题", "时间", "链接"])
x.align["标题"] = "l"
// 这里会整合三页内容,想要多少页,就把101改成50*(页数-1)+1
for i in range(0, 101, 50):
    resp = requests.get(f'https://tieba.baidu.com/f?kw=%E5%8D%9A%E5%B0%94%E7%89%B9&ie=utf-8&pn={i}', headers=headers)
    with open(file='1.html', mode='w', encoding='utf-8') as f:
        f.write(resp.text)
    obj = re.compile('<a rel="noopener" href="/p/(?P<url>.*?)" title="(?P<title>.*?)".*?<span class="pull-right is_show_create_time" title="创建时间">(?P<time>.*?)</span>', re.S)
    title = obj.finditer(resp.text)
    for i in title:
        x.add_row([i.group('title'), i.group('time'), 'https://tieba.baidu.com/p/' + i.group('url')])
print(x)

 3. 效果展示

ps:好久没玩爬虫了,但是在网页版逛吧时看到很多广告让我很不爽,故写下此脚本。

 


http://www.niftyadmin.cn/n/473756.html

相关文章

使用Android Jetpack Compose构建菜单(Menu)

Android Jetpack Compose是一种现代化的声明式UI工具&#xff0c;它让构建美观且功能强大的界面变得更加简单和直观。在本文中&#xff0c;我们将介绍如何使用Jetpack Compose构建一个简单的下拉菜单。 一、什么是下拉菜单&#xff1f; 下拉菜单是一种用户界面元素&#xff0…

享元模式(Flyweight)

别名 缓存&#xff08;Cache&#xff09;。 定义 享元是一种结构型设计模式&#xff0c;它摒弃了在每个对象中保存所有数据的方式 &#xff0c;通过共享多个对象所共有的相同状态&#xff0c;让你能在有限的内存容量中载入更多对象。 前言 1. 问题 假如你希望在长时间工作…

STM32之HAL库微妙延迟(借助Systick)

代码 void bsp_us_delay(uint32_t us) {uint32_t start, now, delta, reload, us_tick;start SysTick->VAL;reload SysTick->LOAD;us_tick SystemCoreClock / 1000000UL;do {now SysTick->VAL;delta start > now ? start - now : reload start - now;} whi…

网络通信基础

一、TCP/IP原理简介 TCP/IP的演化历史 1969年&#xff0c;美国国防部的国防高级研究计划署&#xff08;简称ARPA&#xff09;建立了一个采用存储转发方式的分组交换广域网——ARPANET,它是公认的互联网前身.1 9 8 2 A R PA N E T采纳T C P和I P作为其主要的协议1 9 9 0 A R P…

Windows同时安装两个版本JDK,并实现动态切换

1、载安装两个版本的JDK 安装后&#xff0c;默认路径C:\Program Files\Java。 实际上JDK8有两个包一个jdk1.8.0_311&#xff0c;一个jre1.8.0_311。 JDK11只有一个jdk-11.0.16.1。 2、系统环境配置 设置JAVA_HOME 在环境变量中选中Path&#xff0c;点击编辑 点击新建&…

软件测试入门(测试流程)

目录 一、什么是项目&#xff0c;什么是项目迭代 二、测试人员和项目迭代存在一个什么关系 三、一个迭代中&#xff0c;测试流程是什么&#xff1f; 一、什么是项目&#xff0c;什么是项目迭代 打个比喻&#xff1a;一个项目的一生就相当于人的一生&#xff0c;从出生到死亡…

【JAVA程序设计】基于Springboot+Vue的前后端分离的学生信息管理系统

基于SpringbootVue的前后端分离的学生信息管理系统 项目简介项目地址开发环境项目技术运行截图部分代码 项目简介 本项目为基于SpringbootVue的前后端分离的项目&#xff0c;本项目分为三种权限&#xff1a;管理员、教师和学生 管理员功能&#xff1a; 登录、学院管理、班级管…

69、基于51单片机智能交流电表蓝牙远程抄表OLED屏系统设计(程序+原理图+PCB源文件+参考论文+参考PPT+元器件清单等)

方案选择 单片机的选择 方案一&#xff1a;AT89C52是美国ATMEL公司生产的低电压&#xff0c;高性能CMOS型8位单片机&#xff0c;器件采用ATMEL公司的高密度、非易失性存储技术生产&#xff0c;兼容标准MCS-51指令系统&#xff0c;片内置通用8位中央处理器(CPU)和Flash存储单元…