Python学习笔记

本文介绍了如何使用requests库抓取网页数据,包括发送带headers的请求以模拟浏览器访问,并结合正则表达式解析和处理爬取的东方财富网数据,最终导入MySQL。初学者可从中了解爬虫基础和数据提取技巧。
摘要由CSDN通过智能技术生成

一、爬虫学习

网络爬虫:是指按照一定的规则,自动抓取互联网信息的程序或者脚本。

1.requests 的使用:

(1) requests的作用:请求页面,并获取页面的内容

代码如下:

url = '     #请求网页地址#       '

r = requests.get(url)

(2) 发送headers的请求:

①为什么要发送带headers的请求?

发送带headers的请求的目的就为了模仿浏览器访问网页,获取和浏览器一致的内容。

②那headers从何而来呢?

在浏览器上面,按F12,点击network,找到我们所需要的爬取的数据,点击Headers。

 代码如下:

​
url = ' https://data.eastmoney.com/zjlx/000032.html ' headers = {'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/96.0.4662.6 Safari/537.36', } 

response = requests.get(url=url, headers=headers) 

page_text = response.text #发送url链接的请求,并返回响应数据

​
​

通过以上代码对浏览器的网站数据进行爬取,对于有些网页有反爬手段,我们这里选择的是容易爬取的东方财富网。

2.正则表达式的使用:

对于我们爬取了的数据,需要进行提取与分割:

导入 re 包,其中包含了正则表达式以及函数split,compile等等

import re

pat = '"klines":\[(.*?)\]'   #正则表达式

data = re.compile(pat, re.S).findall(page_text)   #匹配正则表达式查找

datas = data[0].split('","')     #对查找的数据进行分割

通过以上代码我们就可以实现对数据的整理处理,得到自己想要的数据,如下:

我们发现数据为一行数据,为了存储到MySQL中,我们利用for循环对数据进行再一次处理:

#通过for循环对数据再进行处理分割一行相同类型数据
for i in range(len(datas)):
    stock = list(datas[i].replace('"', "").split(","))

通过一系列的处理,网页的数据变成了我们期待的样子,再通过第五章的连接MySQL,将我们的数据导入到MySQL中:

 总结:

 爬虫学习刚入门时发现有一定难度,但当真正搞懂爬虫操作也受益匪浅,发现爬虫的乐趣。通过爬虫的学习可以对网页,图片,数据进行批量化提取操作,省去了许多人工操作,其中更加深层的内容还需要深入学习。

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值