粤港澳大湾区7大机场新闻数据的评分系统

粤港澳大湾区7大机场新闻数据的评分系统

# 一、获取网页源代码

# 1.引入所需库

import requests

import re

import time

import csv

# 2.请求头
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}

# 3.需要挖取新闻数据的机场
companys = ['广州白云机场', '深圳宝安机场', '惠州平潭机场', '佛山沙堤机场', '珠海金湾机场', '香港国际机场', '澳门国际机场']

# 4.建立挖取某机场新闻的函数,获得该网页的源代码
def baidu(i,company):
    num = (i-1)*10
    url = 'https://www.baidu.com/s?tn=news&rtt=4&bsst=1&cl=2&wd=' + company + '&medium=0&x_bfe_rqs=03E80&tngroupname=organic_news&newVideo=12&rsv_dl=news_b_pn&pn=' + str(num)
    res = requests.get(url, headers=headers).text

# 二、提取信息并清洗数据

# 1.提取源代码中所需的网址、标题、新闻来源和发布日期的正则表达式
    p_href = '<h3 class="news-title_1YtI1"><a href="(.*?)"'
    href = re.findall(p_href, res, re.S)
    p_title = '<h3 class="news-title_1YtI1"><.*?>(.*?)<!--/s-text--></a></h3>'
    title = re.findall(p_title, res, re.S)
    p_date = '<span class="c-color-gray2 c-font-normal">(.*?)</span>'
    date = re.findall(p_date, res, re.S)
    p_source = '<span class="c-color-gray c-font-normal c-gap-right">(.*?)</span>'
    source = re.findall(p_source, res, re.S)

# 2.清洗标题及发布日期中的干扰信息
    for i in range(len(href)):
        title[i] = title[i].strip()
        title[i] = re.sub('<.*?>', '', title[i])
        date[i] = date[i].split(' ')[0]
        date[i] = re.sub('年', '-', date[i])
        date[i] = re.sub('月', '-', date[i])
        date[i] = re.sub('日', '', date[i])
        if ('小时' in date[i]) or ('分钟' in date[i]):
            date[i] = time.strftime("%Y-%m-%d")
        else:
            date[i] = date[i]

# 三、对新闻标题和新闻正文进行评分

    score = []
    keywords1 = ['正常', '涨停', '增加', '超过', '增大', '通过', '恢复', '涨幅', '优质', '首个', '迈入']
    keywords2 = ['违约', '诉讼', '下降', '阻碍', '空难', '噪音', '扰民', '黑幕']
    for i in range(len(title)):
        num = 0

        # 1.获取新闻正文
        try:
            article = requests.get(href[i], headers=headers, timeout=10).text
        except:
            article = '新闻爬取失败'

        # 2.解决新闻正文中可能出现的乱码问题
        try:
            article = article.encode('ISO-8859-1').decode('utf-8')  # 解码为UTF-8
        except:
            try:
                article = article.encode('ISO-8859-1').decode('gbk')  # 解码为GBK
            except:
                article = article  # 保持本身的编码

        # 3.筛选新闻正文中真正的正文内容,忽略旁边的滚动新闻的内容
        p_article = '<p>(.*?)</p>'
        article_main = re.findall(p_article, article)  # 获取<p>标签里的正文信息,结果是一个列表
        article = ''.join(article_main)  # 将列表转换成为字符串
        for k in keywords1:
            if (k in article) or (k in title[i]):
                num += 5
        score.append(num)
        
        for L in keywords2:
            if (L in article) or (L in title[i]):
                num -= 5
        score.append(num)

# 四、将数据存入csv

# 1. 创建文件对象
    f = open('Airport news data.csv','a',encoding='utf-8')

# 2. 基于文件对象构建 csv写入对象
    csv_writer = csv.writer(f)

# 3. 构建列表头
    csv_writer.writerow(["机场","标题","网址","来源","日期","对新闻标题和内容评分"])
    for i in range(len(title)):
            csv_writer.writerow([company, title[i], href[i], source[i], date[i], score[i]])
    print("yes")

# 4. 关闭文件
    f.close()

#5.获取文章内容
#    l=open('test.csv','a',encoding='utf-8')
#    csv_writer=csv.writer(l)
#    csv_writer.writerow([article])
#    print("ok!")

# 五、批量爬取7个机场每个机场5页共35页百度网的数据并存入csv

for company in companys:
   for i in range(5):
       baidu(i, company)
       print(company + '第' + str(i+1) + "页爬取成功")

最终结果

 

附上所有代码

# ===============================
# 粤港澳大湾区7个机场新闻数据的评分系统
# ===============================
# 一、获取网页源代码
# 1.引入所需库
import requests
import re
import time
import csv# 2.请求头
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}# 3.需要挖取新闻数据的机场
companys = ['广州白云机场', '深圳宝安机场', '惠州平潭机场', '佛山沙堤机场', '珠海金湾机场', '香港国际机场', '澳门国际机场']# 4.建立挖取某机场新闻的函数,获得该网页的源代码
def baidu(i,company):num = (i-1)*10url = 'https://www.baidu.com/s?tn=news&rtt=4&bsst=1&cl=2&wd=' + company + '&medium=0&x_bfe_rqs=03E80&tngroupname=organic_news&newVideo=12&rsv_dl=news_b_pn&pn=' + str(num)res = requests.get(url, headers=headers).text# 二、提取信息并清洗数据
# 1.提取源代码中所需的网址、标题、新闻来源和发布日期的正则表达式p_href = '<h3 class="news-title_1YtI1"><a href="(.*?)"'href = re.findall(p_href, res, re.S)p_title = '<h3 class="news-title_1YtI1"><.*?>(.*?)<!--/s-text--></a></h3>'title = re.findall(p_title, res, re.S)p_date = '<span class="c-color-gray2 c-font-normal">(.*?)</span>'date = re.findall(p_date, res, re.S)p_source = '<span class="c-color-gray c-font-normal c-gap-right">(.*?)</span>'source = re.findall(p_source, res, re.S)# 2.清洗标题及发布日期中的干扰信息for i in range(len(href)):title[i] = title[i].strip()title[i] = re.sub('<.*?>', '', title[i])date[i] = date[i].split(' ')[0]date[i] = re.sub('年', '-', date[i])date[i] = re.sub('月', '-', date[i])date[i] = re.sub('日', '', date[i])if ('小时' in date[i]) or ('分钟' in date[i]):date[i] = time.strftime("%Y-%m-%d")else:date[i] = date[i]# 三、对新闻标题和新闻正文进行评分score = []keywords1 = ['正常', '涨停', '增加', '超过', '增大', '通过', '恢复', '涨幅', '优质', '首个', '迈入']keywords2 = ['违约', '诉讼', '下降', '阻碍', '空难', '噪音', '扰民', '黑幕']for i in range(len(title)):num = 0# 1.获取新闻正文try:article = requests.get(href[i], headers=headers, timeout=10).textexcept:article = '新闻爬取失败'# 2.解决新闻正文中可能出现的乱码问题try:article = article.encode('ISO-8859-1').decode('utf-8')  # 解码为UTF-8except:try:article = article.encode('ISO-8859-1').decode('gbk')  # 解码为GBKexcept:article = article  # 保持本身的编码# 3.筛选新闻正文中真正的正文内容,忽略旁边的滚动新闻的内容p_article = '<p>(.*?)</p>'article_main = re.findall(p_article, article)  # 获取<p>标签里的正文信息,结果是一个列表article = ''.join(article_main)  # 将列表转换成为字符串for k in keywords1:if (k in article) or (k in title[i]):num += 5score.append(num)for L in keywords2:if (L in article) or (L in title[i]):num -= 5score.append(num)# 四、将数据存入csv
# 1. 创建文件对象f = open('Airport news data.csv','a',encoding='utf-8')# 2. 基于文件对象构建 csv写入对象csv_writer = csv.writer(f)# 3. 构建列表头csv_writer.writerow(["机场","标题","网址","来源","日期","对新闻标题和内容评分"])for i in range(len(title)):csv_writer.writerow([company, title[i], href[i], source[i], date[i], score[i]])print("yes")
# 4. 关闭文件f.close()#5.获取文章内容
#    l=open('test.csv','a',encoding='utf-8')
#    csv_writer=csv.writer(l)
#    csv_writer.writerow([article])
#    print("ok!")# 五、批量爬取7个机场每个机场5页共35页百度网的数据并存入csv
for company in companys:for i in range(5):baidu(i, company)print(company + '第' + str(i+1) + "页爬取成功")

 

 

 

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华人运通与BlackBerry达成合作, 打造未来数字生命GT——高合HiPhi Z

BlackBerry近日宣布&#xff0c;中国领先的未来智能交通产业的创新型出行科技公司——华人运通&#xff0c;选择了BlackBerry QNX为华人运通的第二款旗舰车型高合HiPhi Z保驾护航&#xff0c;打造其自动驾驶域控制器与数字座舱域控制器。 基于BlackBerry QNX Neutrino 实时操作…

聚观早报|Uber分拆旗下网约车服务; 字节跳动首度超越腾讯和阿里

今日要闻&#xff1a;Uber分拆旗下网约车服务Careem&#xff1b;字节跳动首度超越腾讯和阿里&#xff1b;搜狗追上GPT-4需要3年左右&#xff1b;苹果首款头戴装置将延至6月量产&#xff1b;全面注册制新规今起正式落地 Uber分拆旗下网约车服务Careem Uber 旗下网约车服务 Care…

车载T-BOX市场分析

图片来源于网络 目录 摘要1. 前装市场2. 后装市场 摘要 T-Box&#xff0c;即Telematics-Box&#xff0c;又称TCU&#xff08;车联网控制单元&#xff09;&#xff0c;指安装在汽车上用于控制跟踪汽车的嵌入式系统&#xff0c;包括GPS单元、移动通讯外部接口电子处理单元、微控…

TiDB HTAP 遇上新能源车企:直营模式下实时数据分析的应用实践

无论在股市还是车市上&#xff0c;新能源汽车早已站在了舞台中央。在一台台爆款新车的背后&#xff0c;是造车新势力们产品力和技术力的强强联手&#xff0c;更是数字营销和直营的绝妙组合。早在 2021 年&#xff0c;造车新势力们就已基本完成了销量的“原始积累”。根据各品牌…

袋鼠云亮相澳门首届BEYOND国际科技创新博览会,加速迈向国际化

12月2日-4日,首届BEYOND国际科技创新博览会于澳门威尼斯人金光会展中心举办。 BEYOND国际科技创新博览会以科技创新和科技对社会各产业的影响力为焦点,聚焦前沿科技,展现科技在现今和未来社会各行业的影响力。BEYOND将成为澳门连接全球科技创新产业的重要平台,旨在成为全球顶级…

拿下车载激光雷达份额「第一」,图达通寻求「变阵」

在2022年的量产元年之后&#xff0c;激光雷达正尝试进入真正大规模量产周期。在此之前&#xff0c;有一些关键问题需要解决&#xff0c;其中包括&#xff1a;其一&#xff0c;帮助主机厂将激光雷达真正用起来&#xff0c;发挥价值&#xff1b;其二&#xff0c;丰富产品品类&…

ICV:车载毫米波雷达中国市场有望在2025年实现30亿美元的市场规模

近日&#xff0c;专注于前沿科技领域的国际咨询机构ICV发布了全球车载毫米波雷达的市场研究报告&#xff0c;汽车毫米波&#xff08;mmWave&#xff09;雷达基于频率为77 GHz的电磁波&#xff0c;具有高精度和准确性&#xff0c;可用于目标检测。这种技术有着广泛的应用&#x…

ChatGPT - 使用chatgpt + xmind 快速生成思维导图

文章目录 Step 1Step 2Step 3 Step 1 Prompt 体系化的列举出Flink的知识点&#xff0c; 输出markdown语言格式Step 2 Prompt 将上述回答转换为markdown的Code# Flink 知识点概览Apache Flink 是一个流处理框架&#xff0c;用于在分布式环境中处理无限的数据流。以下是 Flin…

“发现生活中的美好,ChatGPT 带你用脑图记录,发现更多美好!“

脑图的好处和特点。 脑图是一种视觉化的思维工具&#xff0c;具有以下的好处和特点&#xff1a; 整合信息&#xff1a;脑图能够把大量信息集中在一个图形中&#xff0c;并通过层级结构和分支来展示信息之间的关系&#xff0c;便于整合和理解复杂的信息。提高效率&#xff1a;…

“反向传播算法”过程及公式推导(超直观好懂的Backpropagation)

文章目录 前言&#xff08;扯犊子&#xff09;定义算法讲解&#xff08;耐心看&#xff09;CASE 1&#xff08;图示讲解&#xff0c;看不太懂没关系&#xff0c;看第二组图&#xff09;CASE 2&#xff08;具体计算举例&#xff0c;嫌麻烦的可直接看这个&#xff0c;强烈推荐&am…

【工具】1729- PMAI:优秀的产品经理 AI 帮手

关注 “AI 工具派” 探索最新 AI 工具&#xff0c;发现 AI 带来的无限可能性&#xff01; 今天 Chris 给大家推荐的工具是 PMAI&#xff0c;一款产品经理的 AI 助手&#xff0c;可以一键生成 PRD、解决方案、流程图、sql 等功能&#xff0c;快来一起看看吧。 工具地址&#xff…

为什么对ChatGPT、ChatGLM这样的大语言模型说“你是某某领域专家”,它的回答会有效得多?(三)...

“ ChatGPT 的 Transformer 神经网络架构&#xff0c;以及海量的数据训练让它能够像人类一样进行写作。” 经过前面两期漫长的介绍文章&#xff1a; 为什么对ChatGPT、ChatGLM这样的大语言模型说“你是某某领域专家”&#xff0c;它的回答会有效得多&#xff1f;&#xff08;一…

2023年中国私域运营洞察白皮书

导读&#xff1a; 随着私域阵地边界的拓展&#xff0c;内容成为捕获消费者注意力的关键&#xff0c;下一阶段的私域运营将向以内容为中心进行升级。《2023年中国私域运营洞察白皮书》从私域运营的发展背景出发&#xff0c;提出了以内容为中心的私域运营进阶模式&#xff0c;并公…

如何利用chatGPT/GPT4高效学习Solidworks二次开发

最近比较火的无疑是ChatGPT/GPT4&#xff0c;它的出现是不是像大家所想的&#xff0c;能够改变世界。 比如说让我丢了饭碗 ![在这里插入图片描述](https://img-blog.csdnimg.cn/3ab46dde8f89452da5c524f770de19b7.png)要不我们来试试它? 先用这个试试&#xff0c;据说这个比较…

数读|未来人工智能生成内容还能做哪些工作?

除了ChatGPT&#xff0c;AIGC还有哪些想象空间&#xff1f;未来还能帮我们做什么&#xff1f; 贝壳财经记者梳理资料发现&#xff0c;目前AIGC已经悄然影响多个领域。在国外一些AI应用已经可以实现撰写博客文章、社交媒体帖子、营销电子邮件等&#xff0c;支持超过25种语言&…

图解 72 个机器学习基础知识点

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 我新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 图解机器学习算法系列 以图解的生动方式&#xff0c;阐述机器学习核心知识 & 重要模型&#xff0c;并通过代码讲通应用细节…

韩语中有“促音”吗?从音变语法中得到答案,从日语转韩语的学习者常见误区

摘要 我有一些从日语转韩语的学习小伙伴&#xff0c;把韩语的收音归为“促音”。对于具有日语基础的学习者来说&#xff0c;促音的说法是很直观的&#xff0c;好理解&#xff0c;但是韩语的收音完全不是促音&#xff0c;而且不应该按照促音一样理解。 日语“促音”介绍 对于…

韩语重要语法*

语气结尾词&#xff1a; -는걸요:添加自己的想法&#xff0c;意见 基本阶다니:听到的事实&#xff0c;表达看法&#xff0c;情感 -자니:把别人的要求&#xff0c;建议 当做原因 (으)리라 意志&#xff0c;猜测 基本阶고요:确认/纠正判断/强调 -긴는요: 意见想反/谦虚 거든요…

推特营销|推特群推你有无限可能

在许多社交媒体平台中&#xff0c;Twitter以其简短而集中的消息而闻名。 它可与最常见的社交媒体FB、IG、TG等配合使用&#xff0c;与脸书相比&#xff0c;每个Twitter将到达每个关注者的feed&#xff0c;因此也就为你的群发推广提供了无限可能。 现在&#xff0c;让我们和Twi…

推特自动发帖,快速提升人气

Twitter一直是所有类型企业和品牌的极其宝贵的营销工具。如果使用得当&#xff0c;它本身就能成为一种高效的营销工具。Twitter与其他社交媒体渠道&#xff0c;在营销策略以及工作方式方面略有不同&#xff0c;在品牌营销方面与利用Twitter做推广&#xff0c;就意味着随着您的动…