Python爬虫|实时采集全国油价

一、爬取目标

Python爬虫|实时采集全国油价

二、完整源码

#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
#
# Copyright (c) 2024 愤怒的it, All Rights Reserved.
# FileName : code.py
# Date : 2024.02.29
# Author : 愤怒的it
# Version : 1.0.0
# Node : 欢迎关注微信公众号【愤怒的it男】
#
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

import csv
from lxml import etree
import requests
from tabulate import tabulate

def getData(u, h):
    response = requests.get(url=u, headers=h)
    html = etree.HTML(response.text)
    date = html.xpath("//p[@class='tips']/text()")[0]
    items = html.xpath("//table[@id='table']/tbody/tr")
    data = []
    for item in items:
        name = item.xpath("td[1]/text()")[0]
        p0 = item.xpath("td[2]/text()")[0]
        p92 = item.xpath("td[3]/text()")[0]
        p95 = item.xpath("td[4]/text()")[0]
        p98 = item.xpath("td[5]/text()")[0]
        data.append([name,p0,p92,p95,p98])
    return {'date':[date], 'data':data}

def printData(d):
    print(d['date'])
    headers = [ "地区""#92号汽油""#95号汽油""#98号汽油""#0号柴油"]
    table = tabulate(d['data'], headers=headers, tablefmt='grid')
    print(table)
    
def saveData(d):
    with open('今日油价查询.csv''w', encoding='utf-8', newline=''as file:
        writer = csv.writer(file)
        writer.writerow(d['date'])
        headers = [ "地区""#92号汽油""#95号汽油""#98号汽油""#0号柴油"]
        writer.writerow(headers)
        writer.writerows(d['data'])

def main():
    headers = {'User-Agent''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',}
    url = 'https://www.iamwawa.cn/oilprice.html'
    result = getData(url, headers)
    printData(result)
    saveData(result)
    
if __name__== "__main__" :
    main()

三、爬取结果

['最后更新于:2024-02-29 01:15:02']
+--------+-------------+-------------+-------------+------------+
| 地区 |   #92号汽油 | #95号汽油 | #98号汽油 | #0号柴油 |
+========+=============+=============+=============+============+
| 北京 |        7.82 |        8.33 |        9.83 |       7.54 |
+--------+-------------+-------------+-------------+------------+
| 上海 |        7.79 |        8.29 |        9.39 |       7.47 |
+--------+-------------+-------------+-------------+------------+
| 江苏 |        7.79 |        8.29 |        9.81 |       7.45 |
+--------+-------------+-------------+-------------+------------+
| 天津 |        7.82 |        8.26 |        9.69 |       7.49 |
+--------+-------------+-------------+-------------+------------+
| 重庆 |        7.89 |        8.33 |        9.39 |       7.56 |
+--------+-------------+-------------+-------------+------------+
| 江西 |        7.78 |        8.36 |        9.86 |       7.54 |
+--------+-------------+-------------+-------------+------------+
| 辽宁 |        7.97 |        8.48 |        9.24 |       7.39 |
+--------+-------------+-------------+-------------+------------+
| 安徽 |        7.78 |        8.32 |        9.34 |       7.53 |
+--------+-------------+-------------+-------------+------------+
| 内蒙古 |        7.76 |        8.28 |        9.09 |       7.36 |
+--------+-------------+-------------+-------------+------------+
| 福建 |        7.79 |        8.32 |        9.32 |       7.48 |
+--------+-------------+-------------+-------------+------------+
| 宁夏 |        7.72 |        8.16 |        9.31 |       7.37 |
+--------+-------------+-------------+-------------+------------+
| 甘肃 |        7.82 |        8.35 |        8.92 |       7.39 |
+--------+-------------+-------------+-------------+------------+
| 青海 |        7.78 |        8.34 |        9.09 |       7.41 |
+--------+-------------+-------------+-------------+------------+
| 广东 |        7.84 |        8.5  |       10.5  |       7.5  |
+--------+-------------+-------------+-------------+------------+
| 山东 |        7.79 |        8.35 |        9.07 |       7.4  |
+--------+-------------+-------------+-------------+------------+
| 广西 |        7.88 |        8.52 |        9.66 |       7.55 |
+--------+-------------+-------------+-------------+------------+
| 山西 |        7.77 |        8.39 |        9.09 |       7.56 |
+--------+-------------+-------------+-------------+------------+
| 贵州 |        7.95 |        8.4  |        9.3  |       7.59 |
+--------+-------------+-------------+-------------+------------+
| 陕西 |        7.71 |        8.14 |       10.69 |       7.38 |
+--------+-------------+-------------+-------------+------------+
| 海南 |        8.94 |        9.49 |       10.75 |       7.58 |
+--------+-------------+-------------+-------------+------------+
| 四川 |        7.92 |        8.46 |        9.2  |       7.54 |
+--------+-------------+-------------+-------------+------------+
| 河北 |        7.82 |        8.26 |        9.08 |       7.49 |
+--------+-------------+-------------+-------------+------------+
| 西藏 |        8.7  |        9.2  |       10.26 |       8.03 |
+--------+-------------+-------------+-------------+------------+
| 河南 |        7.83 |        8.36 |        9.02 |       7.48 |
+--------+-------------+-------------+-------------+------------+
| 新疆 |        7.65 |        8.18 |        9.11 |       7.27 |
+--------+-------------+-------------+-------------+------------+
| 黑龙江 |        7.85 |        8.38 |        9.51 |       7.33 |
+--------+-------------+-------------+-------------+------------+
| 吉林 |        7.79 |        8.4  |        9.15 |       7.41 |
+--------+-------------+-------------+-------------+------------+
| 云南 |        7.97 |        8.56 |        9.24 |       7.56 |
+--------+-------------+-------------+-------------+------------+
| 湖北 |        7.84 |        8.39 |        9.7  |       7.48 |
+--------+-------------+-------------+-------------+------------+
| 浙江 |        7.79 |        8.29 |        9.79 |       7.47 |
+--------+-------------+-------------+-------------+------------+
| 湖南 |        7.77 |        8.26 |        9.06 |       7.56 |
+--------+-------------+-------------+-------------+------------+

Python爬虫|实时采集全国油价

Python爬虫|实时采集全国油价

四、免责声明

本文所涉及源代码均为个人学习所编写,并于公众号(愤怒的it男)中原创发布,仅可用于计算机技术学习及研究等合法行为,禁止利用本文所涉及源代码从事任何违反本国(地区)法律法规的业务,如有发现存在违法违规行为我会举报到网监部门。

原文始发于微信公众号(愤怒的it男):Python爬虫|实时采集全国油价

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/234275.html

(0)
葫芦侠五楼的头像葫芦侠五楼

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!