直接代码:

import requests
import json
import xlwt
from bs4 import BeautifulSoup
def getData(page, news):headers = { "Host": "interface.sina.cn", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0", "Accept": "*/*", "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2", "Accept-Encoding": "gzip, deflate, br", "Connection": "keep-alive", "Referer": r"http://www.sina.com.cn/mid/search.shtml?range=all&c=news&q=%E6%97%85%E6%B8%B8&from=home&ie=utf-8", "Cookie": "ustat=__172.16.93.31_1580710312_0.68442000; genTime=1580710312; vt=99; Apache=9855012519393.69.1585552043971; SINAGLOBAL=9855012519393.69.1585552043971; ULV=1585552043972:1:1:1:9855012519393.69.1585552043971:; historyRecord={'href':'https://news.sina.cn/','refer':'https://sina.cn/'}; SMART=0; dfz_loc=gd-default", "TE": "Trailers" }params = { "t":"", "q":"疫情", "pf":"0", "ps":"0", "page":page, "stime":"2019-03-30", "etime":"2022-04-26", "sort":"rel", "highlight":"1", "num":"10", "ie":"utf-8" }response = requests.get("https://interface.sina.cn/homepage/search.d.json?", params=params, headers=headers)dic = json.loads(response.text)news += dic["result"]["list"]return newsdef get_p(url):if url == "":return ""res = requests.get(url)res.encoding = 'utf-8'#print(res.text)html_sample = res.textsoup = BeautifulSoup(html_sample, 'html.parser')art = ""p = soup.select('p[cms-style="font-L"]')for i in p:art = art + str(i.text) + "\n"return artdef writeData(news):workbook = xlwt.Workbook(encoding = 'utf-8')worksheet = workbook.add_sheet('MySheet')worksheet.write(0, 0, "标题")worksheet.write(0, 1, "时间")worksheet.write(0, 2, "媒体")worksheet.write(0, 3, "网址")worksheet.write(0, 4, "新闻内容")for i in range(len(news)):print(news[i])worksheet.write(i+1, 0, news[i]["origin_title"])worksheet.write(i+1, 1, news[i]["datetime"])worksheet.write(i+1, 2, news[i]["media"])worksheet.write(i+1, 3, news[i]["url"])worksheet.write(i+1, 4, get_p(str(news[i]["url"])))workbook.save('data.xls')
def main():news = []for i in range(1,10):news = getData(i, news)writeData(news)if __name__ == '__main__':main()

基本参考:(14条消息) 通过Python爬虫按关键词抓取相关的新闻_工程师大胖的博客-CSDN博客

增加功能:对列表内新闻挨个进去爬取每个新闻的内容

效果:存到data.xsl

爬取疫情等关键词的新浪新闻,存到excel相关推荐

  1. python爬取开源众包大厅多页任务信息保存到excel

    python爬取开源众包大厅多页任务信息保存到excel python版本:py3.5 希望能给大家一些帮助,欢迎加好友讨论微信:18301618273 源码走起: #!/usr/bin/env py ...

  2. python爬虫爬取豆瓣电影排行榜并通过pandas保存到Excel文件当中

    我们的需求是利用python爬虫爬取豆瓣电影排行榜数据,并将数据通过pandas保存到Excel文件当中(步骤详细) 我们用到的第三方库如下所示: import requests import pan ...

  3. 爬取奇书网各类小说信息并保存到excel中

    一开始用的保存函数是将原来的文件内容替换掉,所以换了一种方法就可以追加数据内容了 两种方法的对比 1.追加数据的函数 old_file = xlrd.open_workbook('qishu.xls' ...

  4. 爬虫实战4:爬取猫眼电影排名Top100的详细数据保存到csv文件

    申明:资料来源于网络及书本,通过理解.实践.整理成学习笔记. 文章目录 猫眼电影 完整代码 运行结果 猫眼电影 完整代码 import time import requests import re i ...

  5. 19Python爬虫--爬取新浪新闻标题并保存到数据库

    一.爬取新浪新闻思路 1.创建scrapy项目 2.分析新浪新闻网站静态页面代码 3.编写对应的xpath公式 4.写代码 二.项目代码 步骤1.创建scrapy项目 创建爬虫文件 scrapy st ...

  6. 从入门到入土:Python爬虫学习|实例练手|爬取新浪新闻搜索指定内容|Xpath定位标签爬取|代码注释详解

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  7. requests, Beautifusoup 爬取新浪新闻资讯

    ###1.爬取新浪新闻首页的新闻标题时间和链接 1 import requests 2 from bs4 import BeautifulSoup 3 4 res = requests.get('ht ...

  8. python爬虫scrapy爬取新闻标题及链接_18Python爬虫---CrawlSpider自动爬取新浪新闻网页标题和链接...

    一.爬取新浪新闻思路 1.创建scrapy项目 2.分析新浪新闻网站静态页面代码 3.编写对应的xpath公式 4.写代码 二.项目代码 步骤1.创建scrapy项目 scrapy startproj ...

  9. python爬取新浪新闻

    最近公司项目比较少,楼主闲了好长时间了,作为一个刚毕业几个月的新人,心里很烦躁,只能自己找点新东西去学了.看到周围好多人都接触了爬虫,再加上楼主最近沉迷吴宣仪不可自拔,每天投票投票,投票的同时需要监控 ...

最新文章

  1. Redis史上最强【集群】入门实践教程
  2. Prioritize your work by your title
  3. Docker学习笔记【一】
  4. 排序算法整理(第十五周实践项目)
  5. Makefile中的patsubst函数
  6. FONT Awesome 图标
  7. 如何利用SQL求取微信的共同好友数?
  8. 使用ST05 研究product extension field deletion
  9. 跨语言调用Hangfire定时作业服务
  10. matlab sdk7.1,免费试用MATLAB Compiler SDK
  11. MATLAB产生线性等分量函数 linspace
  12. Linux下进行源码安装时如何避免找不到那些使用--prefix指定目录安装的依赖
  13. 计算器存储功能怎么用_数控车床加工刀具补偿功能怎么用?
  14. C#接入steam内购
  15. PS平面设计零基础如何学好PS平面设…
  16. Excel表格数据导入
  17. SAP GUI 770 百度网盘下载
  18. 【解决Maven项目module不显示蓝色小方块/java文件显示灰色橙色/module already exists问题】
  19. Chrome之连接到网络 您正在使用的网络可能会要求您访问其登录页面解决方案
  20. 【网络安全】隐藏网站后台的另一种思路

热门文章

  1. matlab 拉格朗日LM检验,求问,做LM检验和LR检验的stata命令
  2. 验证括号的匹配(艾伦图灵的栈操作)
  3. 大学里MATLAB和proe怎么考,ProENGINEER与MATLABsimulink联合仿真设置
  4. 学校计算机机房应急预案,中心机房应急预案管理制度
  5. Consignment 寄售库存
  6. mysql 1524_Debian/Ubuntu遇到MySQL错误ERROR 1524 (HY000):插件未加载的解决
  7. MLXG直播破防 怼网友却无意揭露电竞直播行业秘密
  8. 气象站:处暑至热未止,从事不同行业的人们应该如何预知天气变化
  9. clair容器镜像工作流程
  10. (18) DeepCut DeeperCut vote(have a rough understanding)