无私干货,超强程序员在线教程!!!

在网页浏览中,网络浏览器是一个非常有用的应用,它创建信息的数据包,发送它们,然后把你获取的数据解释成漂亮的图像、声音、视频和文字。但是,网络浏览器就是代码,而代码是可以分解的,可以分解成许多基本组件,可重写、重用,以及做成我们想要的任何东西。网络浏览器可以让服务器发送一些数据,到那些对接无线(或有线)网络接口的应用上,但是python也有实现这些功能的文件库。

下面是python实现浏览器的代码

from urllib.request import urlopen

html=urlopen("http://pythonscraping.com/pages/page1.html")

print(html.read())

requests库

Requests是用Python语言编写的,基于urllib3来改写的,采用Apache2 Licensed 来源协议的HTTP库。它比urllib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求。在日常使用中我们绝大部分使用requests库向目标网站发起HTTP请求。

urllib 库中的urlopen()方法实际上是以GET方式请求网页,而requests 中相应的方法就是get()。在Python中运行以下代码:

mport requests

# 以get方式获取百度官网源代码res = requests.get("https://www.baidu.com")

# 获取返回类型print(type(res))

# 获取状态码print(res.status_code)

# 获取返回源代码内容类型print(type(res.text))

# 获取前15字符

print((res.text)[:15])

# 获取cookiesprint(res.cookies)

输出结果为:

<class 'requests.models.Response'>

200 # 状态码200代表响应正常

<class 'str'>

<!DOCTYPE html>

<RequestsCookieJar[<Cookie BDORZ=27315 for .baidu.com/>

get方法是我们通常最常用的方法。输入如下代码对网站提交get请求:

import requests

res = requests.get("http://httpbin.org/get")

print(res.text)

输出结果为:

{

"args": {},

"headers": {

"Accept": "*/*",

"Accept-Encoding": "gzip, deflate",

"Host": "httpbin.org",

"User-Agent": "python-requests/2.22.0",

"X-Amzn-Trace-Id": "Root=1-5e5dd355-96131363cf818957b8e7b67d"

}, "origin": "171.112.101.74",

"url": "http://httpbin.org/get"

}

由上述输出可知响应结果包含请求头、URL和IP等信息。而如果我们想在get请求中输入参数信息,则需要设置params参数:

​import requests

data = { 'building':"zhongyuan",

'nature':"administrative"

}res = requests.get("http://httpbin.org/get",params=data)

print(res.text)

输出内容为:

{

"args": {

"building": "zhongyuan",

"nature": "administrative"

}, "headers": {

"Accept": "*/*",

"Accept-Encoding": "gzip, deflate",

"Host": "httpbin.org",

"User-Agent": "python-requests/2.22.0",

"X-Amzn-Trace-Id": "Root=1-5e5dd4db-f0568e98f3350cae8998968a"

}, "origin": "171.112.101.74",

"url": "http://httpbin.org/get?building=zhongyuan&nature=administrative"

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值