问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python 能获取网页的网络请求吗

发布网友 发布时间:2022-04-21 05:23

我来回答

1个回答

热心网友 时间:2022-04-07 10:24

(一)通过GET和POST方式获取页面内容

网络爬虫,即Web Spider,是一个很形象的名字。
把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。

HTTP协议中定义了四个与服务器进行交互的方法,分别是GET, POST,PUT,DELETE ,实际对应对服务器内容的“增”删“改”查“四个操作

本篇文章主要记录我学习GET和POST请求方式的过程

首先,如何区分GET 和POST请求?

我们可以简单地通过浏览器地址栏是否改变来加以区分。举例说明,在百度上搜索CSDN时,页面会跳转到搜索结果页,同时浏览器上方的URL也会发生改变。


如上图所示,变化就在于,在最初的url后面会附加相关的字段,以?分割url和请求的数据,这些数据就是你要查询字段的编码。。而这个过程,就是典型的GET请求的情况。

POST请求则显得”深藏不露“。它在于你必须通过浏览器输入或提交一些服务器需要的数据,才能给你返回完整的界面,这点其实与GET请求情况有相通之处,但是这个过程浏览器的地址栏是不会发生跳转的。

那POST请求提交的数据是如何传给服务器的呢?可以采用一些分析页面的手段来获取上传的数据。实际上,POST请求是将提交的数据放在HTTP包的包体中,这种方式无疑加强了数据的安全性,不像GET请求那样,用户可以通过跳转的url就可以查看出向服务器发送的数据。另外,POST请求除了提交数据外,还可以提交文件,这点也是GET请求做不到的。

总的来说,在做数据查询时,建议用GET方式;而在做数据添加、修改或删除时,建议用POST方式。

下面用具体代码展示GET与POST方式的差异

#coding =utf-8import urllib2
url="httcom"req=urllib2.Request(url)#req表示向服务器发送请求#response=urllib2.urlopen(req)#response表示通过调用urlopen并传入req返回响应response#the_page=response.read()#用read解析获得的HTML文件#print the_page#在屏幕上显示出来#1234567

这是一个最简单的爬虫程序,功能类似于打开百度主页。如果你此时用浏览器打开百度并查看其源代码,会发现屏幕上的内容和浏览器中完全一样,也就是说,上面这四行代码将我们访问百度时浏览器收到的代码们全部打印了出来。 
这就是一个最简单的GET的例子。

再来看一个POST方式的例子

#code=utf-8import urllib2
import urllib
url='http'//把要发送的数据写成字典value={    'name':'BUPT',    'age':'60',    'location':'Beijing'#字典中的内容随意,不影响#}
data=urllib.urlencode(value)#对value进行编码,转换为标准编码#req=urllib2.Request(url,data)#向url发送请求,并传送表单data#response=urllib2.urlopen(req)#获取响应#the_page=response.read()#解析#print the_page#显示#123456789101112131415


程序运行之后,你可以试试将获取的网页源代码用浏览器打开,会发现得到的页面是这样的

因为我们向网站提供的数据是随便写的,并不存在,所以就会得到这样的结果。 

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
308S标注使用0W-30的机油,如果用5w-40的有影响么 如果飞船在飞行时遇到一粒沙,飞船是否会直接报废?为什么呢?_百度... 火车或地铁行驶中的苍蝇或蚊子这些飞虫是怎么飞的 我一直很疑惑,在地铁公交上的飞虫蚊子之类的,它们不停在杆上,就这么... 固态硬盘的读取是不是都比写入要快啊?才买了个东芝的Q Pro,发现写入496... 我是非护理专业的专科生 但我想考护理资格证 该怎么办呢 我是非护理专业的专科生 但我想考护理资格证 该怎么办? 中专非护理专业单招可以考护理吗 苹果宣布的AppleWatchSeries6和AppleWatchSE有哪些新功能和价格? 描写榕树生命力顽强的诗句 python爬虫怎么获取下一页的url python爬取网页信息,怎么获取到网页的真实URL?? Python下载网络文本数据到本地内存的四种实现方法 Python爬虫怎么获取下一页的URL和网页内容 如何用python访问URL python 如何获取url信息 python编写接口,请求url应该如何确定? 2010excel打印预览里能不能调整行列宽度 404 Not Found 12306新增乘客窗口核验过为什么还是灰色的 为什么12306上多出了其他乘车人信息 在12306网站上购买火车票时名字填写正确但身份证号输错了可以购票成功吗? 网购火车票添加乘客显示灰色字无法添加 台式机装什么系统好?win7还是win10? 游戏影音用。 台式机经常玩游戏,win7好还是win10好用 台式机用win7好还是win10好 普的拼音 win7好用还是win10好用 win7和win10哪个更流畅呢? 这个电脑配置装win7还是win10? 如何python获取sql数据库访问的url 怎样处理python爬虫中有中文的url python中链式存储有哪些 python url.asp 如何获得最终url python中url太长怎么解决 django怎么发起url请求 python url提取 请求如何python post以下网站内容? 如何用Python写一个http post请求 python requests get方式怎么设置请求头? Kindle的寿命有多长 微信周转怎么开通额度 微信周转为什么还要锁定余额 微信周转金多久评估一次 微信周转为什么一直升级 微信理财通周转是什么有什么用 微信周转金显示维护 微信周转额度多少 怎么使用微信周转不锁定余额? 微信里面来回周转的钱会被别人查询到吗?