Python小试牛刀:第一次爬虫,获取国家编码名称

使用场景:

需要初始化国家(地区表),字段有国家名称、国家编码等等。

解决方案:

使用requests发送请求,使用bs4解析得到的HTML,打开F12,查看元素,(可以Ctrl+S直接保存HTML使用VS code 打开更加清晰)找到数据所在标签,再根据标签获取内容。获取需要的数据,再存储到数组,最后使用pandas将数据转成DataFrame,调用to_excel方法导出。

python 复制代码
import requests
from bs4 import BeautifulSoup
import pandas as pd

# 目标网页URL
url = 'https://www.guojiadaima.com/'

# 发送HTTP请求获取网页内容
response = requests.get(url)
response.encoding = 'utf-8'  # 根据网页的编码调整

# 使用BeautifulSoup解析HTML
soup = BeautifulSoup(response.text, 'html.parser')

# 找到数据所在的标签
tbodyData = soup.find('tbody')

# 初始化数据列表
data = []

# 提取表格中的数据
for row in tbodyData.find_all('tr')[1:]:  # 跳过表头
    columns = row.find_all('td')
    if len(columns) > 1:
        if columns[3].text.strip() != '':
            country_name = columns[3].text.strip()  # 中文简称
            english_name = columns[4].text.strip()  # 英文简称
            iso2_code = columns[5].text.strip()  # ISO 2
            iso3_code = columns[6].text.strip()  # ISO 3
            numerical_code = columns[7].text.strip()  # 数字代码
            ip_code = columns[9].text.strip()  # 数字代码

            data.append({
                '国家名称': country_name,
                '英文名称': english_name,
                '国家编码2': iso2_code,
                '国家编码3': iso3_code,
                '数字代码': numerical_code,
                '域名后缀': ip_code
            })

# 打印提取的数据
for item in data:
    print(item)

# 将数据转换为DataFrame
df = pd.DataFrame(data)
print(df)

# 导出到Excel文件
# index=False表示不导出DataFrame的索引
df.to_excel('countries_codes.xlsx', index=False)

# 指定输出的Excel文件的完整路径
# 假设你想要将文件保存在C盘的某个文件夹中
output_path = 'C:/Users/YourUsername/Documents/output.xlsx'
# 或者在Linux/macOS系统中使用正斜杠(/)或双反斜杠(\\)作为路径分隔符
# output_path = '/home/yourusername/Documents/output.xlsx'
# 或者
# output_path = 'C:\\Users\\YourUsername\\Documents\\output.xlsx'
df.to_excel(output_path, index=False)

需要使用的依赖:

相关推荐
Emma歌小白3 分钟前
**大数据量(几千万行)划分价格区间(价格段)
python
马哥python说27 分钟前
【效率软件】抖音转换工具:主页链接和抖音号一键批量互转
爬虫·python
江山如画,佳人北望33 分钟前
pytorch常用函数
人工智能·pytorch·python
这里有鱼汤1 小时前
首个开源金融平台,一站式数据终端 + AI 代理,量化研究者的利器,速来白嫖
后端·python
这里有鱼汤1 小时前
Python量化实战:如何用Python实现查找相似K线,附源码,建议收藏
后端·python
1candobetter1 小时前
JAVA后端开发——用 Spring Boot 实现定时任务
java·开发语言·spring boot
小阿鑫1 小时前
使用 Kiro AI IDE 3小时实现全栈应用Admin系统
前端·后端·python·admin·kiro·next admin·fastapi admin
Blossom.1181 小时前
基于深度学习的医学图像分析:使用YOLOv5实现细胞检测
人工智能·python·深度学习·yolo·机器学习·分类·迁移学习
啊阿狸不会拉杆2 小时前
《Java 程序设计》第 8 章 - Java 常用核心类详解
java·开发语言·python·算法·intellij-idea
小白学大数据2 小时前
Python + Requests库爬取动态Ajax分页数据
开发语言·python·ajax·okhttp