requests是Python爬虫中一个比较常用的包,通过对指定的URL发起网络请求,得到响应。我们可以对响应数据进行响应的操作。
在爬虫中,一般就是5个步骤:
- 指定URL
- 发起请求
- 获取响应数据
- 数据解析
- 数据持久化存储
案例1,爬取搜狗首页的静态页面数据。
Step1:指定URL
我们的需求是爬取搜狗首页的静态页面,所以,首先我们就应该指定URL:
url = 'https://www.sogou.com/'
Step2:发起请求
请求协议常见的就是get和post两种,当然还有其他的,这里不介绍,可详见HTTP请求过程及种类
获取静态页面,应该是get请求,get请求会返回一个响应对象,所以:
response = requests.get(url=url)
Step3:获取响应数据
response是一个响应对象,text返回的是页面对应的源码数据,字符串形式。
page_text = response.text
Step4:数据持久化
简单地使用Python写文件存储静态页面。注意:要设置encoding='utf-8'
,因为网页静态页面中可能出现中文,需要指定编码格式。
with open('../03.数据解析/sougou.html', 'w', encoding='utf-8') as file:
file.write(page_text)
print('爬取数据结束')
完整的代码
"""
需求:爬取搜狗首页的页面数据
"""
import requests
def main():
# step1:指定URL
url = 'https://www.sogou.com/'
# step2:发起请求
# get方法会返回一个响应对象
response = requests.get(url=url)
# step3:获取响应数据,
# text返回的是页面对应的源码数据,字符串形式
page_text = response.text
print(page_text)
# step4:数据持久化
with open('../03.数据解析/sougou.html', 'w', encoding='utf-8') as file:
file.write(page_text)
print('爬取数据结束')
if __name__ == '__main__':
main()