IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 豆瓣250信息爬取及保存到excel中 -> 正文阅读

[Python知识库]豆瓣250信息爬取及保存到excel中

目录

一、爬取网页基本信息

二、将CSV文件转换为XLSX格式


一、爬取网页基本信息

网页头 Header:

网页URL:?

网页源代码:

?

#通过re来提取想要的有效信息
import re
import csv
import requests
def fun():
    for i in range(10):
        print(f"正在爬取第{i}页")
        url = "https://movie.douban.com/top250?start={}&filter=".format(i*25)
        headers = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 Edg/97.0.1072.55"
        }
        resp = requests.get(url, headers=headers)
        page_content = resp.text
        # 解析数据
        obj = re.compile(r'<li>.*?<em class="">.*?</em>.*?<a href="(?P<link>.*?)">.*?'
                         r'<span class="title">(?P<name>.*?)</span>.*?'
                         r'<p class="">.*?<br>(?P<year>.*?)&nbsp.*?'
                         r'<span class="rating_num" property="v:average">(?P<content>.*?)</span>.*?'
                         r'<span>(?P<num>.*?)</span>', re.S)
        # 开始匹配
        result = obj.finditer(page_content)
        # 不读取空白行
        f = open("data.csv", 'a+', newline='')
        csvwriter = csv.writer(f)
        for it in result:
            # print(it.group("link"))
            # print(it.group("name"))
            # print(it.group("year").strip())
            # print(it.group("content"))
            # print(it.group("num"))
            dic = it.groupdict()
            dic['year'] = dic['year'].strip()
            csvwriter.writerow(dic.values())
            # print(it.group())

if __name__ == '__main__':
    fun()

二、将CSV文件转换为XLSX格式

import csv
import xlwt
def csv_to_xlsx():
    with open('data.csv', 'r') as f:
        #csv.reader 读取的结果是列表
        read = csv.reader(f)
        #创建一个工作簿
        workbook = xlwt.Workbook()
        #创建一个sheet对象
        sheet = workbook.add_sheet('data')

        #修改写入格式 居中对齐
        stytle=xlwt.XFStyle() #创建一个样式对象 初始化样式
        al=xlwt.Alignment()
        al.horz=0x02
        al.vert=0x01
        stytle.alignment=al

        list1=["链接","电影名称","年份","评分","评价人数"]
        a=0
        for i in list1:
            sheet.write(0,a,i,style=stytle)
            a=a+1
        l = 1
        for line in read:#读取每一个列表
            r = 0
            for i in line:#读取每一个列表单元的内容
                sheet.write(l, r, i,style=stytle)  # 一个一个将单元格数据写入
                r = r + 1
            l = l + 1

        workbook.save('1.xlsx')  # 保存Excel

if __name__ == '__main__':
    csv_to_xlsx()

?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-24 00:30:34  更:2022-03-24 00:31:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/29 12:33:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计