xpath 爬虫案例

2023-05-16

1. 案例 爬取糗百中的段子内容和作者名称

from lxml import etree
url = 'https://www.qiushibaike.com/text/'
page_text = requests.get(url,headers=headers).text
#解析内容
tree = etree.HTML(page_text)
div_list = tree.xpath('//div[@class="article block untagged mb15 typs_long"]')
for div in div_list:
    author = div.xpath('//h2/text()')[0]#实现局部解析
    content = div.xpath('//a[1]/div/span//text()')
    content = ''.join(content)
    
    print(author,content)

2. http://pic.netbian.com/4kmeinv/中文乱码的处理

#http://pic.netbian.com/4kmeinv/中文乱码的处理  
dirName = './meinvLibs'
if not os.path.exists(dirName):
    os.mkdir(dirName)
url = 'http://pic.netbian.com/4kmeinv/index_%d.html'
for page in range(1,11):
    if page == 1:
        new_url = 'http://pic.netbian.com/4kmeinv/' 
    else:
        new_url = format(url%page)
    page_text = requests.get(new_url,headers=headers).text
    tree = etree.HTML(page_text)
    a_list = tree.xpath('//div[@class="slist"]/ul/li/a')
    for a in a_list:
        img_src = 'http://pic.netbian.com'+a.xpath('./img/@src')[0]
        img_name = a.xpath('./b/text()')[0]
        img_name = img_name.encode('iso-8859-1').decode('gbk')
        img_data = requests.get(img_src,headers=headers).content
        imgPath = dirName+'/'+img_name+'.jpg'
        with open(imgPath,'wb') as fp:
            fp.write(img_data)
            print(img_name,'下载成功!!!')

3. 所有城市

#https://www.aqistudy.cn/historydata/所有城市名称
page_text = requests.get('https://www.aqistudy.cn/historydata/',headers=headers).text
tree = etree.HTML(page_text)
# hot_cities = tree.xpath('//div[@class="bottom"]/ul/li/a/text()')
# all_cities = tree.xpath('//div[@class="bottom"]/ul/div[2]/li/a/text()')
cities = tree.xpath('//div[@class="bottom"]/ul/div[2]/li/a/text() | //div[@class="bottom"]/ul/li/a/text()') #提高xpath的通用性
cities
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

xpath 爬虫案例 的相关文章

  • 使用docker搭建鸿蒙开发环境

    第一步下载docker https docs docker com engine install windows 版本https desktop docker com win stable amd64 Docker 20Desktop 20
  • 数组

    一 数组中重复的数字 题目描述 xff1a 在一个长度为n的数组里的所有数字都在0到n 1的范围内 数组中某些数字是重复的 xff0c 但不知道有几个数字是重复的 也不知道每个数字重复几次 请找出数组中任意一个重复的数字 例如 xff0c
  • JSON序列化与反序列化

    一 需要序列化的POJO和初始化代码 以下3种类库的使用均使用下面这个POJO public class User public User private String id private String name private Stri
  • 排序

    一 数据流中的中位数 题目描述 xff1a 如何得到一个数据流中的中位数 xff1f 如果从数据流中读出奇数个数值 xff0c 那么中位数就是所有数值排序之后位于中间的数值 如果从数据流中读出偶数个数值 xff0c 那么中位数就是所有数值排
  • 常用的shell语句

    看文件里第几行 看倒数5行 tail n 5 SpecialVariable sh 看正数3行到最后一行 tail n 43 3 SpecialVariable sh 查看磁盘空间大小 df h 查看内存空间大小 top n 1 xff08
  • 【转载】SLAM技术 即将颠覆哪些领域

    什么是SLAM xff1f 机器人在未知环境中 xff0c 要实现智能化需要完成三个任务 xff0c 第一个是定位 xff08 Localization xff0c 第二个是建图 Mapping xff0c 第三个则是随后的路径规划 Nav
  • SIFT学习笔记(结合matlab源码)

    源码下载地址 xff1a https download csdn net download u014509577 11011793 一 算法流程 1 生成高斯金字塔 xff0c 并由此生成差分高斯金字塔 xff08 DoG xff09 xf
  • 点到面的配准算法

    学习一下PCL中点到面的配准算法 笔记一下以免以后忘记 好记性不如烂笔头 嘻嘻 一 理论基础 1 估计表面法向量问题 xff1d 对点集的K最近邻点的协方差矩阵求特征值和特征向量 xff08 PCA xff09 问题 2 假设三维点集中的任
  • GICP学习笔记

    首先贴一下原始论文的下载地址 xff1a http www roboticsproceedings org rss05 p21 pdf 下面开始论文学习笔记 1 ICP算法 标准ICP算法的关键概念可归纳为两个步骤 xff1a 计算两次扫描
  • python求解中位数、均值、众数

    首先定义一个数据 xff0c 在这里我假定为 xff1a num 61 2 3 2 5 1 0 1 2 9 一 求中位数 中位数 xff08 又称中值 xff0c 英语 xff1a Median xff09 xff0c 统计学中的专有名词
  • 获取占用率大于70%的硬盘.java

    获取占用率大于70 的硬盘 xff0c 准备写入oracle过程 xff0c 在占比大于90 时 xff0c 向指定邮箱发送邮件 import java io File import java text DecimalFormat publ
  • 使用KNN方法进行MNIST数据集分类

    声明 xff1a 本文的代码部分可以戳这里下载 一 MNIST数据集 MNIST是深度学习的经典入门demo xff0c 他是由6万张训练图片和1万张测试图片构成的 xff0c 每张图片都是28 28大小 xff08 如下图 xff09 x
  • python遍历整个文件夹中的所有.txt文件并将绝对路径保存在指定的txt文档中

    在深度学习处理数据时经常会用到的一步操作 xff0c 路径名因人而异 xff0c 可以根据需求自行更改 import os get txt document rootdir 61 os path join 39 要读取的txt文件的绝对路径
  • PointNet的点云分割实验

    PointNet属于直接对点云数据进行语义分割的开山之作 xff0c 优点就不一一细说了 xff0c 直接上代码来说明跑代码的过程以及过程中遇到的问题 笔者不才 xff0c 欢迎斧正 xff01 实验的代码可以在这里下载 xff1a htt
  • 图表组件FusionCharts介绍及免费下载地址

    FusionCharts套件帮助你创建令人惊叹的 图表控件 xff0c 仪表 xff0c 并在瞬间映射在你的所有网站和企业应用 使用它 xff0c 你可以建立漂亮的仪表板 xff0c 报告 xff0c 分析 xff0c 监测 xff0c 调
  • Vscode编译调试C++程序

    一 简介 本文讲述在windows平台下在Vscode中使用g 43 43 编译本地C 43 43 程序 xff0c 并使用gdb调试的方法 可能有些朋友会说 xff1a windows上不是已经有visual studio这个最强IDE了
  • vmware下vmdk文件越来越大的解决方法探讨

    前段时间在vmware下面安装了ubuntu镜像 xff0c 用了一段时间后发现ubuntu的vmdk文件越来越大 xff0c 达到了31 6GB xff0c 如下图所示 而且随着继续安装新的软件仍然在增大中 即使在ubuntu里面删除了文
  • IAR烧写MSP430失败的解决方法

    1 失败状况如下 在驱动安装没错 xff0c xff08 板子插进去usb自动安装完成 xff09 config选的MCU也没错的情况下出现如图错误 xff1a The debugging session could not be star
  • 数据分析、数据可视化中的常用图形

    整理了一些常用的数据可视化图形 xff0c 一些图形重点已列出 xff0c 若想深入了解可自行百度 目录 简单数据可视化矢量图 数据分析 其他可视化图表 xff1a 逻辑分析 层次分析导图 简单数据可视化矢量图 条柱图 xff1a 标准条
  • 专线的种类介绍

    常见的三种专线类型 裸纤 也叫裸光纤 xff0c 运营商会提供光纤 xff0c 中间不经过别的设备 xff0c 光纤价格昂贵 1 裸纤按照距离收费 xff0c 距离越远越贵 xff08 一般不跨省 市 xff0c 太贵 xff09 2 光纤

随机推荐

  • Unity3D场景切换

    首先新建两个场景 xff1a Scene 1与Scene 2 在第一个场景Scene 1中加入UI控件Button Text设置为 点击切换场景 xff0c 名称为默认值 Button 新建一个脚本 xff0c 命名为ChangeScene
  • oracle10g后面的聚合运算函数:cube、rollup等

    oracle10g后面的聚合运算函数 xff1a cube rollup及聚合运算sql 看到很多次阅读 xff0c 所以还是过来再写点东西 cube和rollup xff0c 只能配合group by使用的 xff0c 之所以之前没怎么看
  • Ubuntu 14.04利用tasksel安装配置lamp环境

    用 tasksel 可以方便安装dns server lamp kubuntu desktop ubuntu desktop xubuntu之类的软件包 这个软件在server版是预装的 xff0c 而在桌面版里是不预装的 xff0c 想用
  • 设置USB无线网卡为监听模式大学霸IT达人 

    设置USB无线网卡为监听模式大学霸IT达人 当用户实施无线网络渗透时 xff0c 设置无线网卡为监听模式是必不可少的操作 大学霸IT达人信息安全技术大讲堂通常情况下 xff0c 用户会遇到各种问题 xff0c 如网卡不支持 xff0c 网络
  • 判断无线网卡是否支持5GHz频段

    判断无线网卡是否支持5GHz频段 目前 xff0c 无线WiFi网络支持2 4GHz和5GHz两个频段 大学霸IT达人其中 xff0c 5GHz传输速率更高 xff0c 逐步会成为主流 如果要使用或渗透5GHz网络 xff0c 则无线网卡也
  • 嵌入式开发之Vscode实用插件大全

    嵌入式开发之Vscode实用插件大全 Chinese Simplified 简体中文 xff08 神器 xff09 C C 43 43 amp CMake amp C C 43 43 Extension Pack xff08 神器 xff0
  • django将网络中的图片,保存成model中的ImageField

    有这样的情形 xff0c django个人头像在model中是 xff1a class UserProfile AbstractUser 34 34 34 用户 34 34 34 name 61 models CharField max l
  • 【AI视野·今日Robot 机器人论文速览 第九期】Thu, 17 Jun 2021

    AI视野 今日CS Robotics 机器人学论文速览 Thu 17 Jun 2021 Totally 15 papers x1f449 上期速览 更多精彩请移步主页 Daily Robotics Papers Autonomous Nav
  • SpringBoot 集成cas5.3 实现sso单点登录

    博主说明 这篇文章速成cas xff0c 下面包含了cas统一认证登录 xff0c 统一认证登出 有兴趣想了解更多cas内容的可以看看我下面这些文章 springboot 使用cas5 3 sso概念springboot 集成cas5 3
  • UltraVNC 使用,内网局域网远程控制

    介绍 UltraVNC 是客户端 服务器软件 xff0c 允许你经由 TCP IP 连线 xff08 也就是主机都在同一网络环境下 xff09 xff0c 控制远端的电脑 这个版本的开发以 RealVNC 为基础 xff0c 加上了Tigh
  • JS判断一个字符串是否在数组中

    方法1 xff1a arr indexOf 某元素 xff1a 未找到则返回 1 span class token keyword var span number span class token operator 61 span span
  • pb9 数据窗口的计算列

    数据窗口中 xff0c 可以增加计算列 xff0c 进行合计 平均或者其他计算动作 在窗口的按钮 xff0c 或者其他事件中 xff0c 可以对数据窗口的计算列的表达式进行修改 xff0c 这样可以将数据窗口多用 办法 xff1a dw 1
  • tar打包命令(linux)

    1 打包命令 span class token function tar span cvf 归档路径 被打包文件路径 span class token punctuation span c create archive v verbose
  • Python字符串与数组相互转换

    Python中有join 和os path join 两个函数 xff0c 具体作用如下 xff1a join xff1a 连接字符串数组 将字符串 元组 列表中的元素以指定的字符 分隔符 连接生成一个新的字符串os path join x
  • FastApi 文件上传upload

    需要使用的Python包 xff1a fastapi和uvicorn span class token keyword import span time span class token keyword import span uvicor
  • zip/tar 分割压缩和合并解压

    1 zip 分割压缩和合并解压 span class token comment 准备工作 xff1a 将文件或文件夹打包为zip压缩包 span span class token function zip span r src zip s
  • python 创建excel 并保存(两种方法)

    1 概要 python中的包xlwt和xlsxwriter都是比较方便创建excel文件并写入数据的 2 xlwt 创建excel并保存 xlwt中 xff1a 通过xlwt Workbook 来新建工作簿 xff1b 通过 add she
  • Python 保留两位小数几种方法

    一 xff1a 保留两位小数 且 做四舍五入处理 四舍六入五成双 xff0c 四舍六入五凑偶的意思 xff0c 根据百度词条的解释如下 xff08 1 xff09 当精确位后面一位的数字是1 4的时候 xff0c 舍去 xff08 2 xf
  • XSS 攻击常用代码

    1 XSS 攻击常用代码 span class token number 1 span 39 34 span class token punctuation span span class token punctuation span sp
  • xpath 爬虫案例

    1 案例 爬取糗百中的段子内容和作者名称 span class token keyword from span lxml span class token keyword import span etree url span class t