金融大数据Python爬虫——(按时间爬取、一次性批量爬取多页、一次性批量爬取多家公司多页)爬取百度新闻标题、网址、日期和新闻来源(数据爬取、清洗)
好几个月没写博文了有空来玩玩爬虫之前接触了一个爬虫的项目感触挺深的当时有个爬取巨潮网的操作网上的代码天花乱坠最后还是要靠自己今天这篇算是入门级别欢迎收藏评论。文章目录按默认顺序效果代码解析按时间顺序爬取一次性批量爬取多页内容修改代码效果图爬取多家公司多页数据修改代码效果图(部分)按默认顺序效果代码importrequestsimportre headers{User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36}urlhttp://www.baidu.com/s?tnnewsrtt1bsst1cl2wd阿里巴巴# 把链接中rtt参数换成4即是按时间排序默认为1按焦点排序3.4.1小节也有讲到resrequests.get(url,headersheaders).text# 加上headers用来告诉网站这是通过一个浏览器进行的访问# print(res)p_hrefh3 classnews-title_1YtI1 a href(.*?)#提取新闻网址hrefre.findall(p_href,res,re.S)p_titleh3 classnews-title_1YtI1 .*?(.*?)/atitlere.findall(p_title,res,re.S)p_datespan classc-color-gray2 c-font-normal c-gap-right-xsmall .*?(.*?)/spandatere.findall(p_date,res)p_sourcespan classc-color-gray .*?(.*?)/spansourcere.findall(p_source,res)# print(title)# print(href)# print(date)# print(source)#foriinrange(len(title)):# range(len(title)),这里因为知道len(title) 10所以也可以写成for i in range(10)title[i]title[i].strip()# strip()函数用来取消字符串两端的换行或者空格不过目前2020-10并没有换行或空格所以其实不写这一行也没事title[i]re.sub(.*?,,title[i])# 核心用re.sub()函数来替换不重要的内容print(str(i1).title[i](source[i] date[i]))print(href[i])解析重点就是了解正则表达式规则理解非贪婪匹配和贪婪匹配还有就是换行问题的考虑。数据清洗理解sub()函数和strip()函数即可。按时间顺序爬取爬虫的重点就是——网址一定要对上一定是先要有对应的网址然后再去进行后续的操作如果网址都不对那么后面就一定不对做爬虫最重要的就是观察网址的变化以爬取腾讯新闻为例默认的网址http://www.baidu.com/s?tnnewsrtt1bsst1cl2wd‘腾讯’默认是按照焦点排序这里选择时间排序https://www.baidu.com/s?tnnewsrtt4bsst1cl2wd‘腾讯’可以看到它们唯一的区别就在于“rtt”后的数字推断rtt4按照时间rtt1按照焦点排序故将上述代码的url中的rtt修改为4即可。可以看到已经按照时间排序一次性批量爬取多页内容上面讲到了观察那么这里要学的就是“变通”会玩url地址的人或者对url敏感的人学爬虫一般都非常厉害。‍❄️‍❄️‍❄️‍❄️‍❄️默认时候的网址https://www.baidu.com/s?tnnewsrtt4bsst1cl2wd%E8%85%BE%E8%AE%AFx_bfe_rqs032000000000000000000000000000000000000000000008x_bfe_tjscore0.080000tngroupnameorganic_newsnewVideo12goods_entry_switch1rsv_dlnews_b_pnpn0‍️‍️‍️删除掉一些内容并做一些处理https://www.baidu.com/s?tnnewsrtt4bsst1cl2wd‘腾讯’pn0爬取第2页https://www.baidu.com/s?tnnewsrtt4bsst1cl2wd‘腾讯’pn10爬取第3页https://www.baidu.com/s?tnnewsrtt4bsst1cl2wd‘腾讯’pn20规律pn按照10、20、30…这样的规律递增num (page - 1) * 10修改代码importrequestsimportreimporttime 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}# 爬取一个公司的多页defbaidu(page):num(page-1)*10# 参数规律是页数-1*10urlhttp://www.baidu.com/s?tnnewsrtt4bsst1cl2wd阿里巴巴pnstr(num)resrequests.get(url,headersheaders).text# 其他相关爬虫代码p_hrefh3 classnews-title_1YtI1 a href(.*?)hrefre.findall(p_href,res,re.S)p_titleh3 classnews-title_1YtI1 .*?(.*?)/atitlere.findall(p_title,res,re.S)p_datespan classc-color-gray2 c-font-normal c-gap-right-xsmall .*?(.*?)/spandatere.findall(p_date,res)p_sourcespan classc-color-gray .*?(.*?)/spansourcere.findall(p_source,res)print(**********title len is {} .format(len(title)))print(**********date len is {}.format(len(date)))print(**********source len is {}.format(len(source)))foriinrange(len(date)):title[i]title[i].strip()# strip()函数用来取消字符串两端的换行或者空格不过这里好像不太需要了title[i]re.sub(.*?,,title[i])# 核心用re.sub()函数来替换不重要的内容print(str(i1).title[i](date[i]-source[i]))print(href[i])foriinrange(3):# 这里一共爬取了3页baidu(i1)# i是从0开始的序号所以要写成i1表示第几页print(第str(i1)页爬取成功)# i是从0开始的序号所以写i1time.sleep(3)# 不要爬太快爬太快会被百度反爬效果图爬取多家公司多页数据修改代码importrequestsimportreimporttime 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}# 爬取多个公司的多页, 可以给函数传入两个参数供参考defbaidu(company,page):num(page-1)*10# 参数规律是页数-1*10urlhttp://www.baidu.com/s?tnnewsrtt4bsst1cl2wdcompanypnstr(num)resrequests.get(url,headersheaders).text# 正则表达式提取内容p_hrefh3 classnews-title_1YtI1 a href(.*?)hrefre.findall(p_href,res,re.S)p_titleh3 classnews-title_1YtI1 .*?(.*?)/atitlere.findall(p_title,res,re.S)p_datespan classc-color-gray2 c-font-normal c-gap-right-xsmall .*?(.*?)/spandatere.findall(p_date,res)p_sourcespan classc-color-gray .*?(.*?)/spansourcere.findall(p_source,res)foriinrange(len(date)):# range(len(title)),这里因为知道len(title) 10所以也可以写成for i in range(10)title[i]title[i].strip()# strip()函数用来取消字符串两端的换行或者空格不过这里好像不太需要了title[i]re.sub(.*?,,title[i])# 核心用re.sub()函数来替换不重要的内容print(str(i1).title[i](date[i]-source[i]))print(href[i])companys[阿里巴巴,万科集团,百度集团,腾讯,京东]forcompanyincompanys:foriinrange(3):# 这里一共爬取了3页baidu(company,i1)# i是从0开始的序号所以要写成i1表示第几页print(company第str(i1)页爬取成功)# i是从0开始的序号所以写i1time.sleep(3)# 不要爬太快爬太快会被百度反爬效果图(部分)后面不再赘述️️️

相关新闻

三色免疫系统配置解析

三色免疫系统配置解析

# EXP-II-v1.0.yaml 配置加载与集成实现 # Phantom Echo v0.2-alpha 三色免疫系统 Dry-Run Phase-0import yaml import os from dataclasses import dataclass, field from typing import Dict, List, Any import torch import numpy as np# # 1. 配置加载器(支持Y…

2026/8/13 16:47:56 阅读更多 →
一,传感器控制LED

一,传感器控制LED

在开始编写代码之前,我们首先需要完成硬件电路的搭建。传感器控制 LED 的核心思路是:通过传感器感知外部环境变化,将物理信号转换为电信号,再由 STM32 微控制器读取该信号,并根据预设逻辑控制 LED 的亮灭状态。 具体来…

2026/8/13 16:46:56 阅读更多 →
如何快速导出微信聊天记录:个人数据管理终极指南

如何快速导出微信聊天记录:个人数据管理终极指南

如何快速导出微信聊天记录:个人数据管理终极指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg …

2026/8/13 16:46:56 阅读更多 →

最新新闻

终极指南:如何用wxBot打造你的个人微信智能助手

终极指南:如何用wxBot打造你的个人微信智能助手

终极指南:如何用wxBot打造你的个人微信智能助手 【免费下载链接】wxBot Deprecated 项目地址: https://gitcode.com/gh_mirrors/wx/wxBot 你是否想过拥有一个24小时在线的微信智能助手?wxBot正是这样一个强大的Python微信机器人框架,它…

2026/8/13 17:55:37 阅读更多 →
深入理解proposal-set-methods:从API设计到浏览器兼容性分析

深入理解proposal-set-methods:从API设计到浏览器兼容性分析

深入理解proposal-set-methods:从API设计到浏览器兼容性分析 【免费下载链接】proposal-set-methods Proposal for new Set methods in JS 项目地址: https://gitcode.com/gh_mirrors/pr/proposal-set-methods JavaScript的Set对象自ES6引入以来,…

2026/8/13 17:55:37 阅读更多 →
每日热门skill-OpenMontage让你的AI编程助手现在能拍电影了

每日热门skill-OpenMontage让你的AI编程助手现在能拍电影了

事情是这样的。 前两天我在GitHub Trending上刷到一个项目,名字叫OpenMontage。当时我扫了一眼描述,直接愣住了。 「World’s first open-source, agentic video production system.」 全球首个开源的、Agent驱动的视频生产系统。 不是「又一个生成视…

2026/8/13 17:55:37 阅读更多 →
YOLO技术应用07-YOLOv1-v3 技术演进详解:从45FPS到Darknet-53,YOLO前3年的技术进化全记录

YOLO技术应用07-YOLOv1-v3 技术演进详解:从45FPS到Darknet-53,YOLO前3年的技术进化全记录

写在前面:2015-2018 年是 YOLO 的"创世纪"。Joseph Redmon 用 3 年时间,从一个"无名小卒"变成目标检测领域的"颠覆者"。YOLOv1 第一次让检测跑到了 45FPS,YOLOv3 把单阶段精度推到了 76% mAP。今天我们一起回顾…

2026/8/13 17:55:37 阅读更多 →
终极指南:3分钟零代码将网站打包为桌面应用

终极指南:3分钟零代码将网站打包为桌面应用

终极指南:3分钟零代码将网站打包为桌面应用 【免费下载链接】PakePlus Turn any webpage/HTML/Vue/React and so on into desktop and mobile app under 5M with easy in few minutes. 轻松将任意网站/HTML/Vue/React等项目构建为轻量级(小于5M)多端桌面应用和手机应…

2026/8/13 17:55:37 阅读更多 →
yolo26 学习笔记

yolo26 学习笔记

环境依赖: pip install --upgrade filelock https://docs.ultralytics.com/zh/models/yolo26/ 算法原理讲解: https://zstar.blog.csdn.net/article/details/152161066

2026/8/13 17:54:36 阅读更多 →

日新闻

Visual Studio新建项目解决方案为空:系统性排查与修复指南

Visual Studio新建项目解决方案为空:系统性排查与修复指南

1. 问题现象与本质剖析如果你是一位.NET开发者,或者正准备踏入这个领域,那么Visual Studio(后面简称VS)绝对是你绕不开的伙伴。但有时候,这个伙伴会跟你开一个不大不小的玩笑:你满怀期待地点击“创建新项目…

2026/8/13 0:00:09 阅读更多 →
长春建设厅网站:普通人买房办事必看的真实指南与避坑攻略

长春建设厅网站:普通人买房办事必看的真实指南与避坑攻略

说实话,每次提起“长春建设厅网站”这几个字,我心里都挺有感触的。不是因为它有多高大上,也不是因为那里藏着什么不可告人的秘密,恰恰相反,是因为它太“接地气”了,或者说,它是咱们普通人想要在这个城市好好生活、安稳买房时,必须得翻过的一座“数据山”。很多新朋友第…

2026/8/13 0:00:09 阅读更多 →
Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案

Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案

Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案 【免费下载链接】rdpwrap.ini RDPWrap.ini for RDP Wrapper Library by StasM 项目地址: https://gitcode.com/GitHub_Trending/rd/rdpwrap.ini 你是否曾为Windows家庭版无法支持多用户远程桌面…

2026/8/13 0:00:09 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/13 2:38:34 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/13 10:41:52 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/13 10:41:51 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/13 10:41:50 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/13 10:41:49 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/13 10:41:49 阅读更多 →