Python爬取新闻标题及链接存储至MySQL(含源码)

2023-11-09 12:20

本文主要是介绍Python爬取新闻标题及链接存储至MySQL(含源码),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


请求网页: https://www.tsinghua.edu.cn/news.htm/



一. 首先要获取数据,将数据暂存于 list列表

二. 将数据存储至MySQL:
                1.创建连接
                2.创建游标
                3.传入参数,执行命令
                4.数据提交(提交至MySQL)
                5.关闭游标、链接


注意: 运行代码前在MySQL新建表,做到代码与数据库的3个对应:
                        1. 用户名、密码对应
                        2. 数据库名对应
                        3. 传入参数时的表名、表中栏位名对应在这里插入图片描述

运行结果:
在这里插入图片描述


```源码```

import pandas as pd
import pymysql
import requests
from lxml import etree# 请求网址
url = 'https://www.tsinghua.edu.cn/news.htm'
# 请求头
header = {'user_agent': 'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36'
}
# 获取响应 
response = requests.get(url=url, headers=header).content
# 解码
chi = response.decode('utf-8')
# 解析html
html = etree.HTML(chi)
# 通过xpath解析、筛选获取数据
data = html.xpath('/html/body/div[6]/div/div/ul/li/div[3]/a')for i in data:# 创建列表用于存储爬取的数据list = []# 获取标题 , 并将标题数据加入 list 列表title_text = i.xpath('.//text()')[0]# list.append(title_text)# 获取urltitle_url = i.xpath('./@href')[0]# url 不完整,则拼接成完整url, 并将完整url 加入list列表if 'https' not in str(title_url):stitch_url = 'https://www.tsinghua.edu.cn/' + title_urllist.append([title_text, stitch_url])else:list.append([title_text, title_url])print(list)# MYSQL# 1. 创建链接conn = pymysql.connect(host='127.0.0.1',  # 本地MYSQLuser='root',  # 用户名password='00000',  # 密码port=3306,  # 端口号, 默认就为3306,可写可不写database='gradem',  # 数据库名charset='utf8'  # 编码)# 2. 创建游标cur = conn.cursor()n = 1for l in list:try:# 3. 传入参数, 执行命令cur.execute('insert into list(title, url) values(%s, %s)', (l[0], l[1]))# 4. 数据提交 (提交至MySQL)conn.commit()except Exception as e:# 数据回滚conn.rollback()print('第' + str(n) + '数据存储失败!')n += 1# 5. 关闭游标、连接cur.close()conn.close()

这篇关于Python爬取新闻标题及链接存储至MySQL(含源码)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/376058

相关文章

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

python使用库爬取m3u8文件的示例

《python使用库爬取m3u8文件的示例》本文主要介绍了python使用库爬取m3u8文件的示例,可以使用requests、m3u8、ffmpeg等库,实现获取、解析、下载视频片段并合并等步骤,具有... 目录一、准备工作二、获取m3u8文件内容三、解析m3u8文件四、下载视频片段五、合并视频片段六、错误

Python中提取文件名扩展名的多种方法实现

《Python中提取文件名扩展名的多种方法实现》在Python编程中,经常会遇到需要从文件名中提取扩展名的场景,Python提供了多种方法来实现这一功能,不同方法适用于不同的场景和需求,包括os.pa... 目录技术背景实现步骤方法一:使用os.path.splitext方法二:使用pathlib模块方法三

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

mysql中insert into的基本用法和一些示例

《mysql中insertinto的基本用法和一些示例》INSERTINTO用于向MySQL表插入新行,支持单行/多行及部分列插入,下面给大家介绍mysql中insertinto的基本用法和一些示例... 目录基本语法插入单行数据插入多行数据插入部分列的数据插入默认值注意事项在mysql中,INSERT I

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.