Python爬虫入门教程

使用 requests 库请求网站

安装 requests 库

首先在 PyCharm 中安装 requests 库,为此打开 PyCharm,单击“File”(文件)菜单,选择“Setting for New Projects...”命令,如图所示:2020021411h0402.png
选择“Project Interpreter”(项目编译器)命令,确认当前选择的编译器,然后单击右上角的加号如图所示:

20200214_11h24_17.png

在搜索框输入:requests(注意,一定要输入完整,不然容易出错),然后单击左下角的“Install Package”(安装库)按钮,如图所示:

20200214_11h45_11.png

爬虫的基本原理

网页请求的过程分为两个环节:
Request (请求):每一个展示在用户面前的网页都必须经过这一步,也就是向服务器发送访问请求。
Response(响应):服务器在接收到用户的请求后,会验证请求的有效性,然后向用户(客户端)发送响应的内容,客户端接收服务器响应的内容,将内容展示出来,就是我们所熟悉的网页请求。
网页请求的方式也分为两种:
GET:最常见的方式,一般用于获取或者查询资源信息,也是大多数网站使用的方式,响应速度快。
POST:相比 GET 方式,多了以表单形式上传参数的功能,因此除查询信息外,还可以修改信息。

使用 GET 方式抓取数据

确定好请求地址、对象和方式后,在 PyCharm 中输入以下代码:
import requests
url = 'https://www.baidu.com'
strhtml=requests.get(url)
print(strhtml.text)

20200214_11h54_00.png

加载库使用的语句是 import+库的名字。在上述过程中,加载 requests 库的语句是:
import requests
用 GET 方式获取数据需要调用 requests 库中的 get 方法,使用方法是在 requests 后输入英文点号,如下所示:
requests.get
将获取到的数据存到 strhtml 变量中,代码如下:
strhtml = request.get(url)
这个时候 strhtml 是一个 URL 对象,它代表整个网页,但此时只需要网页中的源码,下面的语句表示网页源码:
strhtml.text
上图例子中你会发现有乱码的情况,因为我们没有设置编码方式,我们加一句代码,把strhtml变量中数据的编码方式设置为utf-8就可以了。代码如下:
import requests
url = 'https://www.baidu.com'
strhtml=requests.get(url)
strhtml.encoding='utf-8'
print(strhtml.text)

这样就没有乱码了20200214_12h20_41.png

使用POST方式抓取数据

post请求的提交格式为:
import requests
url="请求地址"
headers = {
    "请求协议头"
    'accept-language':' zh-CN',
    'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; PAFM00 Build/VT0N9Y) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/48.0.4399.61 Mobile Safari/537.36',
}
cookies = dict(cookies_are='cookie数据')
params={
    "请求内容"
}
data=json.dumps(params)
html=requests.post(url,data,headers,cookies=cookies)
print(html.text)

具体操作就不演示记录了,请求头的格式已经示范在上方

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×