python-爬虫-三字代码网站爬取

news2024/12/23 20:06:40

三字代码 http://www.6qt.net/

在这里插入图片描述

爬取城市、三字代码、所属国家、国家代码、四字代码、机场名称、英文名称、查询次数

import requests

url = 'http://www.6qt.net/'
r = requests.get(url)
r.encoding='gb2312'
print(r.text)

在这里插入图片描述
使用xpath解析,得到城市名

html.fromstring(html, base_url=None, parser=None, **kw)
Parse the html, returning a single element/document.解析html,返回单个元素/文档

import requests
from lxml import html

url = 'http://www.6qt.net/'
r = requests.get(url)
r.encoding='gb2312'
data_html = html.fromstring(r.text)
# 提取所有class属性为tdbg的tr元素
tr_html = data_html.xpath('//tr[@class="tdbg"]')# 得到Element对象列表# <Element tr at 0x20695cfdd18>
for tr in tr_html:
    city_name = tr.xpath('td[1]/a/text()')
    if city_name:
        print(city_name[0])

在这里插入图片描述

完整代码

import requests
from lxml import html

url = 'http://www.6qt.net/'
r = requests.get(url)
r.encoding='gb2312'
data_html = html.fromstring(r.text)
tr_html = data_html.xpath('//tr[@class="tdbg"]')
for tr in tr_html:
    data = {}
    city_name = tr.xpath('td[1]/a/text()')
    if city_name:
        data['city_name'] = city_name[0].replace('\xa0','')
    tcc = tr.xpath('td[2]/a/text()')	# Three character code三字代码
    if city_name:
        data['tcc'] = tcc[0].replace('\xa0','')
    country = tr.xpath('td[3]/a/u/text()')
    if city_name:
        data['country'] = country[0]
    country_code = tr.xpath('td[4]/a/u/text()')
    if city_name:
        data['country_code'] = country_code[0]
    fcc = tr.xpath('td[5]/a/u/text()')
    if city_name:
        if fcc:		# 有的城市没有四字代码
            data['fcc'] = fcc[0]
        else:
            data['fcc'] = ''	# 没有四字代码用空字符串代替
    airport_name = tr.xpath('td[6]/text()')
    if city_name:
        data['airport_name'] = airport_name[0].replace('\xa0','')
    en_name = tr.xpath('td[7]/text()')
    if city_name:
        data['en_name'] = en_name[0].replace('\xa0','')
    number = tr.xpath('td[8]/a/text()')
    if city_name:
        data['number'] = number[0]
    
    if data:
        print(data)

在这里插入图片描述

ASCII 字符集中的\xa0代表的是非打印字符"非断行空格",也称为"不间断空格",在网页中通常用于表示空格或保持文本的格式。在 HTML 中,它被称为“&nbsp;”实体。


可以使用lxmltostring()函数将一个Element对象转换成可读的代码。例如:

from lxml import etree

# 创建一个HTML文档的根元素
root = etree.Element("html")

# 创建一个<head>标签并添加到根元素中
head = etree.SubElement(root, "head")

# 创建一个<title>标签并添加到<head>标签中
title = etree.SubElement(head, "title")
title.text = "Welcome to my website"

# 将根元素转换为可读的HTML代码并打印输出
html_code = etree.tostring(root, pretty_print=True, encoding='unicode')
print(html_code)

运行上述代码后,输出的结果为:

<html>
  <head>
    <title>Welcome to my website</title>
  </head>
</html>

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

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

相关文章

管理固定资产怎么界定优化

固定资产的管理和利用是至关重要的一环。然而&#xff0c;如何准确地界定和管理这些资产&#xff0c;以实现最大的效益&#xff0c;却是一个需要深思熟虑的问题。本文旨在探讨行政管理中固定资产的界定方法以及如何进行优化管理。  我们需要明确固定资产的概念。固定资产是指…

ABB AV94a控制模块

多功能性&#xff1a; 控制模块通常设计为多功能设备&#xff0c;可以执行各种控制任务&#xff0c;包括监测传感器数据、执行逻辑操作、生成输出信号等。 可编程性&#xff1a; 许多现代控制模块都具有可编程功能&#xff0c;使用户能够根据需要自定义其行为&#xff0c;从而…

深刻理解Java中方法调用的参数传递

Java方法调用的参数传递 首先给结论&#xff1a;Java中均为值传递。 下面通过概念分析代码示例的方式&#xff0c;实现深刻理解值传递的含义&#xff0c;避免死记硬背。 Java的两种数据类型 基本数据类型&#xff0c;比如int&#xff0c;double&#xff0c;boolean等&#x…

flex布局实现 内容区域高度自适应

如果可以实现记得点赞分享&#xff0c;谢谢老铁&#xff5e; 一、背景说明 对于纵向排列布局&#xff0c;且上中下个个模块都是自动高度。当我们针对中间部分需要自适应高度且进行滚动时&#xff0c;那我们就可以用flex: 1 来处理。 二 、先看效果图 二 、flex布局 <!DO…

如何使用CMD恢复删除的分区?

分区删除后可以恢复吗&#xff1f; 磁盘分区旨在二级存储上创建一个或多个区域&#xff0c;然后你可以单独管理每个区域&#xff0c;这些区域就是分区。因此&#xff0c;对新安装的存储设备进行分区是很重要的环节&#xff0c;只有分区后才可以在这些设备上创建文件并保存数…

unity 使用声网(Agora)实现语音通话

第一步、先申请一个声网账号 [Agora官网链接]&#xff08;https://console.shengwang.cn/&#xff09; 第二步在官网创建项目 &#xff0c;选择无证书模式&#xff0c;证书模式需要tokenh和Appld才能通话 第三步 官网下载SDK 然后导入到unity&#xff0c;也可以直接在unity商店…

云链商城连锁门店新零售O20系统以零售商城

云链商城连锁门店新零售O20系统以零售商城、门店收银、多渠道进销存、客户管理、互动营销、导购助手、多种奖励模式和数据分析等功能&#xff0c;赋能多品牌连锁门店实现线上线下商品、会员、场景的互联互通&#xff0c;助推企业快速实现营销、服务、效率转型升级&#xff0c;为…

可编程交易区块为DeFi机器人提供强大动力

对于选择基金投资的人来说&#xff0c;一个基本指导原则就是寻找那些管理费最低的基金。资本应该是在运转&#xff0c;而不是用于支付费用。同样&#xff0c;Mysten Lab的Capy交易机器人利用可编程交易区块&#xff08;Programmable Transaction Blocks &#xff0c;PTBs&#…

文章生成器在线使用-自动生成文章的工具

大家好啊&#xff0c;今天我要和大家聊聊一个非常热门的话题——在线文章生成器。主要是帮助我们解决写作困扰&#xff0c;节省大量的时间和精力。我也常遇到常为了写一篇好文章而愁眉苦脸呢&#xff0c;我测试过可以帮助我们生成优质的文章&#xff0c;确实让我们的写作变得简…

1. 微信公众号申请加认证

文章目录 微信公众号申请流程指引微信公众号申请流程注册微信公众号申请完成银行卡账号验证 如何查询微信公众号审核通过登录微信公众号平台后&#xff08;如下图&#xff09;致电微信客服热线 微信公众号认证流程指引微信公众号认证流程选择 微信认证/开通选择验证方式。填写微…

运动耳机哪种类型好、最佳运动耳机推荐

很多人都有着运动的习惯&#xff0c;不论是为了解压放松还是为了健身减肥。而运动方式也是多种多样&#xff0c;包括骑行、跑步、游泳等。 作为“运动伴侣”的运动耳机&#xff0c;很多人都不知道该选择哪一款。通常都是建议大家再运动过程中佩戴专业的运动耳机&#xff0c;因为…

【图像处理】怎么让图片背景变透明?怎么改变图片中线条的颜色?在线PS软件

文章目录 前言一、打开图二、背景透明处理三、改变线条颜色总结 前言 我们处理图片将会使用到PS软件&#xff0c;如果安装了PS那直接打开使用。 如果没有安装PS&#xff0c;可使用在线PS软件&#xff1a; https://www.uupoop.com/#/ 一、打开图 第一步&#xff0c;从这个入口…

线性矩阵不等式(LMI)在控制理论中的应用

目录 &#xff08;一&#xff09;Matlab中的LMI处理工具包 &#xff08;二&#xff09;为什么LMI成为控制理论领域重要工具&#xff1f; &#xff08;三&#xff09;LMI在与Lyapunov不等式的关系 &#xff08;1&#xff09;线性矩阵不等式 &#xff08;2&#xff09;线性矩阵…

如何进行有效测试?——基于MEAP诞生的软件测试实用指南告诉你

近年来出现了一 些新的出版方式&#xff0c;MEAP(Manning Early Access Program)就是其中的一种&#xff0c;把开源运动扩展到出版行业。在MEAP中&#xff0c;读者可在图书出版前逐章阅读早期版本。在作者写作过程中&#xff0c;读者可以及时提供反馈&#xff0c;帮助作者写出更…

苹果发布会,华为成热搜第一?

文 | 琥珀消研社 作者 | April叶 琥珀消研社快评&#xff1a;雷蒙多给华为手机“代言”后&#xff0c;苹果库克又给华为“代言”了&#xff0c;苹果发布会当晚&#xff0c;华为竟然登顶热搜第一#苹果发布会 #华为 #Mate 60 Pro#手机#科技 苹果开发布会&#xff0c;华为却冲上…

Matplotlib | 高阶绘图案例【3】- 五大战区高校排名

文章目录 &#x1f3f3;️‍&#x1f308; 1. 导入模块&#x1f3f3;️‍&#x1f308; 2. 数据处理2.1 高效数据2.2 学校排名 &#x1f3f3;️‍&#x1f308; 3. 绘图3.1 绘制图布&#xff0c;设置极坐标系3.2 绘制学校排名柱状图3.3 绘制五大战区扇形区域3.4 添加战区、学校…

javaSE___语法基础(关键字、标识符、数据类型、字符、字符串、运算符)

语法基础 一、关键字的概述和使用二、标识符的概述和组成规则三、标识符中常见的命名规则四、数据类型的概述和分类五、数据类型的概述和分类六、数据类型转换之强制转换七、数据类型转换之强制转换超出范围八、字符和字符串参与运算九、算术运算符的基本用法十、算术运算符和-…

闭包的理解

1.什么是闭包&#xff1f; 变量的私有化。一个函数内的变量,随着函数的执行完毕,对于的变量也会随着销毁,闭包可以让变量在函数执行完毕之后不必销毁,通常将这个变量通过匿名函数的形式return出去,这个变量只能被访问,不能被修改。 2.证明变量执行玩被销毁 (1)函数体没有被包…

((type *)0)->member的用法

问题缘由&#xff0c;在学习 rt-thread 内核的时候遇到了这么一行代码&#xff1a; to_thread rt_list_entry(rt_thread_priority_table[0].next,struct rt_thread, tlist); 而 rt_list_entry 的宏定义如下&#xff1a; /* 已知一个结构体里面的成员的地址&#xff0c;反推…

利用 Python 中的地理空间数据与 GeoPandas

推荐&#xff1a;使用 NSDT编辑器快速搭建3D应用场景 空间数据的真正潜力在于它能够连接数据点及其各自的位置&#xff0c;为高级分析创造无限的可能性。地理空间数据科学是数据科学中的一个新兴领域&#xff0c;旨在利用地理空间信息并通过空间算法和机器学习或深度学习等先进…