python利用lxml模块爬取百度贴吧标题列表—新手练习的项目

news2024/11/27 23:35:02

一、爬取需求

就是用python,获取某百度贴吧的标题

二、代码

import lxml.html
import requests
ydm = requests.get('https://tieba.baidu.com/f?ie=utf-8&kw=%E5%BC%A0%E5%A7%93%E4%B9%8B%E5%AE%B6').content.decode()
selector = lxml.html.fromstring(ydm)
info = selector.xpath('//div[@class="threadlist_title pull_left j_th_tit "]/a/text()')
for infoo in info:
    print(infoo)

三、代码说明

import lxml.html
import requests
前两行的代码是导入模块,这两个第三方库,都是需要安装的,python并不是自带的,安装方法自行百度。

ydm = requests.get('https://tieba.baidu.com/f?ie=utf-8&kw=%E5%BC%A0%E5%A7%93%E4%B9%8B%E5%AE%B6').content.decode()
这一行代码是获取某贴吧的源代码赋值给ydm
selector = lxml.html.fromstring(ydm)
这一行是利用lxml库里的html.fromstring
info = selector.xpath('//div[@class="threadlist_title pull_left j_th_tit "]/a/text()')
这一行是把获取到的列表赋值info,其中.xpath也是lmxl库里的一个功能,后面的那串代码
是需要到网页上去点开源代码查看的
for infoo in info:
    print(infoo)

打印贴吧目录列表

四、优化

其实百度贴吧每页的代码是一样的,所以我们是否可以用input函数让大家自己输入网址,然后就可以获得该贴吧第一页所有标题列表,尝试代码如下

import lxml.html
import requests

url = input('请输入百度贴吧的网址')
ydm = requests.get(url).content.decode()
selector = lxml.html.fromstring(ydm)
info = selector.xpath('//div[@class="threadlist_title pull_left j_th_tit "]/a/text()')
for infoo in info:
    print(infoo)

测试贴吧,郑智化吧 地址https://tieba.baidu.com/f?ie=utf-8&kw=%E9%83%91%E6%99%BA%E5%8C%96

输出结果

请输入百度贴吧的网址https://tieba.baidu.com/f?ie=utf-8&kw=%E9%83%91%E6%99%BA%E5%8C%96
无标题贴
【郑式影响】传奇
【郑式影响】一首MV
【郑式影响】大国民的MV和高音质音频文件链接,请自行下载。
【郑式影响】想得到郑智化所有歌曲
【郑式影响】最近化哥的《游戏人间》又火了一把
【郑式影响】关于2016年的一张照片
【郑式影响】吧内的等级都是有什么名称,有没有朋友知道?
【郑式影响】有关于堕落天使的一点事
【郑式影响】我改编了化哥的《让我拥抱你入梦》大家看看我文笔怎么样
英雄之歌歌词赏析
【郑式影响】想问一下各位年龄
【郑式影响】大家伙看到化哥的最新微博了嘛?
【郑式影响】【随笔】有棱有角没有圆
化歌海报剪辑
张显道你是寂寞难耐呀
【郑式影响】无题
【郑式影响】张显道,这里只想对你说一个字
【郑式影响】退吧不退心,再来一贴
郑智化历年音乐创作不完全统计
【化哥原版MV】大国民
【郑式影响】新专辑有消息吗

进程已结束,退出代码为 0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1951989.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java 每日一题: for 与 foreach 的区别 ?

for 循环:是最基本的循环结构,可以通过初始化语句、循环条件和迭代语句来控制循环的执行。 foreach 循环(也称为增强型 for 循环):用于遍历集合或数组中的元素,简化了遍历过程,没有显式地控制索…

虚拟局域网——VLAN

VLAN的定义 VLAN virtual local Area Network 虚拟局域网,将物理上的局域网LAN在逻辑上进行划分 使用VLAN技术可以有效隔离广播域,减少网络中不必要的带宽消耗,如图,192.168.1.1发送一个广播帧,那么在这个广播域中的所…

HBuilder X中配置vue-cli项目和UI库

目录 一.前端项目结构 二.在HBuilder X中搭建vue-cli项目 1. 安装node.js前端环境 2. HBuilder X创建一个vue-cli项目 3. vue-cli项目结构 4. 如何运行前端项目 5. 创建组件 6. 组件路由(页面跳转) 6.1 创建router目录 6.2 使用路由 6.3 在main.js中配置路由 6.4 路…

多多OJ评测系统 在前端脚手架Vue-Cli中设置页面路由

目录 设置页面路由 我们把菜单上的路由改成读取路由文件 设置成export 导出路由 在刚刚的原始路由 index.ts中导入就行了 在这边引入我们的路由文件 我们之后点击菜单 我们的路由文件是这样的 但是没有跳转 写一下事件 接下来要同步路由到菜单项 自己定义监听函数 …

【吊打面试官系列-Dubbo面试题】Dubbo 服务降级,失败重试怎么做?

大家好,我是锋哥。今天分享关于 【Dubbo 服务降级,失败重试怎么做?】面试题,希望对大家有帮助; Dubbo 服务降级,失败重试怎么做? 可以通过 dubbo:reference 中设置 mock"return null"…

认知是门槛、红利和自己人生的奇异点

认知是门槛、红利和自己人生的奇异点 我发现,身边绝大部分有钱人,「认知」都已经处于比较高的层次,人的认知其实分6个层级: 第一层,环境层第二层,行为层第三层,能力层第四层,BVR 层第五层&…

Android WebViewClient 的 `shouldOverrideUrlLoading` 方法

简介 在Android开发中,WebView是一个强大的工具,可以在你的应用中显示网页内容。了解 WebViewClient 中的 shouldOverrideUrlLoading 方法是至关重要的,因为这个方法允许你控制 URL 在 WebView 中的处理方式。 在本文中,我们将详…

鼠标宏怎么设置?适合游戏玩家的通用鼠标宏工具分享

在很多大型游戏当中,鼠标的操作效率成为决定游戏成败的因素之一。好用的鼠标及按键设置可以帮助玩家简化很多游戏操作步骤,轻松提升游戏操作效率。鼠标宏的出现使得人们在游戏、日常办公中带来极大地便利。今天小编将详细介绍鼠标宏在游戏种的作用以及常…

【Three.js基础学习】17.imported-models

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 课程回顾: 如何在three.js 中引入不同的模型? 1. 格式 (不同的格式) https://en.wikipedia.org/wiki/List_of_file_form…

基于单片机控制的升降式焊接工作台的设计

摘 要: 设计一种基于单片机控制的升降式焊接工作台,由机械系统和单片机控制系统组成 。 采用 STC89C51 单片机为电路控制核心,独立键盘和共阴极 7 段数码管显示器作为外设,对升降式焊接工作台单片机控制系统中的主控电路 、 显示电路、 键…

精选3款屏幕录制软件,总有一款适合你

随着技术的不断发展,屏幕录制已成为我们生活中不可或缺的一部分,无论是录制在线会议、制作教程、游戏直播还是分享演示文稿,屏幕录制软件都发挥着重要作用。本文将详细介绍3款主流的屏幕录制工具,并分步骤阐述它们的使用方法&…

CogVideo 实测,智谱「清影」AI视频生成,全民免费,连 API 都开放了!

不得不说,AI 视频生成界最近非常火热~ 前有快手「可灵」开放内测,一下子带火了老照片修复,全网刷屏: 怕是你还没拿到内测资格,被称为 “国货之光” 的「可灵」就结束了免费无限量模式。每天只有66点的免费额度&#x…

小程序的运营方法:从入门到精通

随着科技的快速发展,小程序已成为我们日常生活和工作中不可或缺的一部分。小程序无需下载安装,即用即走的特点深受用户喜爱。那么,如何运营好一个小程序呢?下面就为大家分享一些小程序的运营方法。 一、明确目标用户 在运营小程序…

sqlserver 连接数据4064

用sa登录,找到对应的登录名,右键属性,设置默认数据库

Android APP 音视频(03)CameraX预览与MediaCodec编码

说明: 此CameraX预览和编码实操主要针对Android12.0系统。通过CameraX预览获取yuv格式数据,将yuv格式数据通过mediacodec编码输出H264码流(使用ffmpeg播放),存储到sd卡上。 1 CameraX 和 MediaCodec简介 1.1 CameraX…

【区块链】如何发行自己的加密货币到以太坊测试网络,remixIDE发行自己的数字货币

如何发行自己的加密货币到以太坊测试网络 环境 reminx在线编辑器:https://remix.ethereum.org/安装有小狐狸钱包插件(MetaMask) 如何部署代币? 创建一个名字叫做HelloMyToken.sol的文件。编写好智能合约,这边我要发…

RedHat9 | Ansible 处理任务失败

环境版本说明 RedHat9 [Red Hat Enterprise Linux release 9.0]Ansible [core 2.13.3]Python [3.9.10]jinja [3.1.2] 1. 忽略任务失败 Ansible评估各任务的返回代码,从而确定任务是成功还是失败通常而言,当任务失败时,Ansible将立即在该主…

【2024年国际高等学校数学建模竞赛IMMCHE】问题 A:金字塔石块的运输 问题分析及数学模型及求解代码

【2024 年国际高等学校数学建模竞赛(IMMCHE)】问题 A:金字塔石块的运输 问题分析及数学模型及求解代码 Problem A: Transportation of Pyramid Stones 1 题目 建造金字塔是古埃及文明的杰出成就之一。它们不仅是建筑奇迹,也是人…

1.C基础_计算机基础知识

计算机构成 计算机是由输入设备、输出设备、内存储器、外存储器、CPU构成,具体框图如下: 输入设备:将其他信号转换为计算机能识别的电信号的设备,如传感器 输出设备:将电信号转换为其他信号,如显示器 存…

SAM与OpenAI发布的CLIP强强联手(SAM2CLIP 和 CLIP2SAM),实现22000类的分割与识别

Abstract CLIP 和 Segment Anything Model(SAM)是卓越的视觉基础模型(VFMs)。SAM 在各种领域的分割任务中表现出色,而 CLIP 以其零样本识别能力而闻名。本文深入探讨了将这两种模型整合到一个统一框架中的方法。具体而…