网络数据爬取:Request&MySQL



一、Request

代码如下:

# 'User-Agent':浏览器参数;'Referer':目标网页
head = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36', 'Referer':'http://typhoon.zjwater.gov.cn'}

# 网页响应的链接
url = 'http://typhoon.zjwater.gov.cn/Api/TyphoonInfo/'+'200001'

# 利用get 获取该链接内容信息(往往是字典格式文件),具体内容可以进入该链接进行查看
req = requests.get(url, headers=h)
# 调用.text方法将文件转换为文本
ty_json = json.loads(req.text)
#示例连接获取的是字典类型数据,因此可以采用关键字进行访问
ty_json['centerlat']

二、MySQL

安装MySQL

安装方式可自行查找,这里给出我参考的连接,自行配置环境,免安装版软件界面化安装,新手推荐,由于版本的原因,实际操作起来多少会有点区别,但关键点步骤大差不差。

注意:用户名和密码尽可能设置的简单一些,后续要经常使用

plmysql是python与MySQL进行交互的安装包,本文主要以plmysql为例进行操作。MySQL比较关键的操作就是SQL语法下面从:(1)创建数据库,(2)创建表,(3)给表添加属性信息三个方面对SQL的使用进行介绍;

1.建立数据库链接

# 利用connect方法与MySQL建立连接
mydb = pymysql.connect(host='localhost', user='root', password='root')
mycursor = mydb.cursor()

2.创建数据库

# 创建数据库,注意数据库名称是不区分大小写的
mycursor.execute("CREATE DATABASE tydb")

3.在数据库中创建表

mycursor.execute("""CREATE TABLE IF NOT EXISTS typhoon (\
                 centerlat VARCHAR(50),\
                 centerlng VARCHAR(50),\
                 name VARCHAR(50),\
                 lng VARCHAR(50),\
                 lat VARCHAR(50),\
                 tim VARCHAR(50),\
                 enname VARCHAR(50))""")
mycursor.execute("SHOW TABLES")

在MYSQL自带的命令行中世界使用以下 命令即可进行查看

# 显示已有的数据库
show databases
# 切换数据库
 use tydb
# 显示数据库中的table()

4.给创建的table表添加属性信息

注意:这里采用SQL语法对表进行赋值“INSERT INTO 表名 (变量名)VALUES (占位符)”

sql = "INSERT INTO typhoon (centerlat,centerlng,name,lng,lat,tim,enname) \
            VALUES (%s,%s,%s,%s,%s,%s,%s) "
values  =  (centerlat,centerlng,name,lng,lat,tim,enname)
mycursor.execute(sql,values)
conn.commit()
# 关闭数据库
conn.close()

关于commit方法第一感觉是这个方法只用来提交“数据”,比如插入数据、更新数据需要在execute()后面跟上一个commit();现在看来,commit()方法需要跟在增(insert)、删(delete)、改(update)、查(select)的任何execute()语句后面。commit是把查询语句提交到数据库内,而不只是要向数据库提交增、添的数据。reference


总结

MySQL语法还是需要在应用中逐渐熟悉起来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云朵不吃雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值