当前位置: 首页 > article >正文

python爬虫(二)爬取国家博物馆的信息

import requests
from bs4 import BeautifulSoup

# 起始网址
url = 'https://www.chnmuseum.cn/zx/xingnew/index_1.shtml'
# 用于存储所有数据
all_data = []
page = 1
global_index = 1  # 定义全局序号变量并初始化为1
while True:
    html_url = requests.get(url).text
    if requests.get(url).status_code == 200:
        print(f"第 {page} 页,请求成功")

    else :
        print(f"第 {page} 页,请求失败")
    soup = BeautifulSoup(html_url, 'lxml')  # 'lxml'是解析器类型,用于解析HTML文档,lxml是一个高性能的Python XML和HTML解析库

    datas = soup.select('li')
    for data in datas:
        a = data.select_one('a')
        span = data.select_one('span')
        if span and a:
            my_date = span.get_text()
            my_title = a.get_text()
            my_href = a.get('href')[2:]
            print(global_index,my_title, my_date, my_href)
            # 添加序号
            all_data.append((global_index, my_date, my_title, my_href))
            global_index+=1

    # 判断数据是否达到100条
    if len(all_data) >= 100:
        break

    # 查找下一页链接
    page += 1
    url = f'https://www.chnmuseum.cn/zx/xingnew/index_{page}.shtml'

# 将数据保存到CSV文件
with open("数据保存.csv", 'w', encoding='utf-8') as file:
    file.write('序号,时间,标题,网址\n')
    for data in all_data:
        file.write('{},{},{},{}\n'.format(data[0], data[1], data[2], data[3]))

结果如下:

在这里插入图片描述


http://www.kler.cn/a/391667.html

相关文章:

  • Flutter Getx状态管理
  • 智能电视/盒子的应用管理——通过ADB工具优化体验
  • 24/11/12 算法笔记<强化学习> Policy Gradient策略梯度
  • 管家婆财贸ERP BB059.银行流水导入对账
  • F5全新报告揭示AI时代API安全面临严峻挑战
  • HTML(超文本标记语言)
  • 使用nossl模式连接MySQL数据库详解
  • 2024 年 10 款替代 Postman 的工具,有免费有开源
  • 我来讲一下-Service Mesh.
  • 【Linux】网络编程3
  • 计算机网络之会话层
  • Ubuntu linux 命令总结
  • uniapp 设置安全区域
  • Hadoop(HDFS)
  • R语言机器学习与临床预测模型69--机器学习模型解释利器:SHAP
  • 《青牛科技 GC6150:驱动芯片的璀璨之星,重塑摇头机性能(可替代 TMI8150)》
  • Vue中如何构建组件,支持传参、插槽等功能。
  • 从经典到应用:探索 AlexNet 神经网络
  • C#画图板上色功能的详细示例代码
  • 将C++搭建的简单HTTP服务器升级为 HTTPS 服务器
  • RabbitMQ高效的消息队列中间件原理及实践
  • 【AliCloud】ack + ack-secret-manager + kms 敏感数据安全存储
  • Elasticsearch中什么是倒排索引?
  • 前端页面性能优化的常见问题与解决方案
  • 死信交换机,延迟队列和惰性队列
  • 电脑监控如何多画面显示?3大方法带你玩转多屏一画,实现管理效率翻倍涨!