python中对网页发起请求的库有urllib和requests,Python爬虫时,更建议用requests库。因为requests比urllib更为便捷。那request库的作用就是模拟浏览器向网页发起请求。
如何使用呢?可以分成5步。
1、指定url
2、发送请求
3、获取响应数据
4、解析数据
5、保存数据
开始编程
首先在pycharm中下载requests库,在文件->设置->项目 找到python解释器
点击左上角的+号,输入requests,然后安装。
建一个新工程,新建一个python文件,在第一行输入 # -- coding:UTF-8 --
这是python文件编码声明,用来说明你的Python源程序文件用使用的编码。缺省情况下你的程序需要使用ascii码来写,但如果在其中写中文的话,python解释器一般会报错,但如果加上你所用的文件编码,python就会自动处理不再报错。
简单来说就是写中文不会报错。之后就是导入requests库。
import requests
导完库后就按上面说的分5步开始编程,这里是简单的以获取Sogou页面的源码来介绍。
# -- coding:UTF-8 --
import requests
if __name__ == "__main__":
#1、指定的url
url = 'https://www.sogou.com/'
#2、发送请求
#get方法会返回一个响应对象
response = requests.get(url=url)
#3、获取到响应数据.text返回的是字符串形式的响应数据
html = response.text
#4、数据解析
print(html)
#5、数据保存
with open('./sogou.html','w',encoding="utf-8") as fp:
fp.write(html)
print('爬取数据结束')
第二步可以是get方式请求,也可以是post方式请求。
第三步requests在发送请求后,服务器会返回一个响应内容,而且requests通常会自动解码响应内容。
response.text是通过文本的形式获取响应内容
requests.content是通过二进制形式的获取响应内容
requests.json()是获取json形式的方法
requests.raw可以获取原始数据流,用.read()可以读取其中的内容
第四步解析数据就是简单的打印了一下 ,想要网页中某一数据是可以用xpath、beautifulsoup、正则表达式等筛选出来。
第五步简单保存了一下Sogou源码数据。
requests库还有很多其他的用法,大家可以多看看requests库的官方文档