当前位置: 首页 > news >正文

郑东新区建设局网站京东商城网站怎么做

郑东新区建设局网站,京东商城网站怎么做,建境模型,普陀区建设局网站目录 一.urllib导入 二.urllib爬取网页 三.Headers属性 1.使用build_opener()修改报头 2.使用add_header()添加报头 四.超时设置 五.get和post请求 1.get请求 2.post请求 urllib库和request库作用差不多,但比较起来request库更加容易上手,但该了…

目录

一.urllib导入

二.urllib爬取网页

三.Headers属性

 1.使用build_opener()修改报头

2.使用add_header()添加报头

四.超时设置

五.get和post请求

1.get请求

2.post请求


urllib库和request库作用差不多,但比较起来request库更加容易上手,但该了解的还是要了解了解

一.urllib导入

        urllib库的安装不用多说,终端命令:pip install urllib,导入方法如下:

import urllib.request

二.urllib爬取网页

        urllib提供了一个打开访问网页的函数urlopen(),然后我们在本地创建一个保持该网页的文档,将该网页写入文档中,就实现了简简单单的网页源码的保存,例如保存百度的网页源码:

 

注意:保存文件可以用上面的方式,也可以用

urllib.request.urlretrieve(url,filename)

三.Headers属性

        网页为了防止被恶意采集进行了一些反爬虫设置,设置了headers就利用模拟浏览器去正常访问,多的我们就不赘叙,设置headers属性有两个方法:

 1.使用build_opener()修改报头

        自己浏览器headers不会看的先自己了解,不多说,看码

import urllib.request#访问网页的header,每个人的不一样,这个是我的
header={'User_Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.41'
}
#修改header
opner=urllib.request.build_opener()
opner.addheaders=[header]
#打开百度网页
urllib=urllib.request.urlopen('https://www.baidu.com').read()#‘wb’以二进制格式打开文件
file=open('baidu.html','wb')
file.write(urllib)
#关闭文件
file.close()

2.使用add_header()添加报头

        add_header简单多了,例如上面的代码可以改成如下:

import urllib.requesturl="https://www.baidu.com"
req=urllib.request.Request(url)
#添加报头
req.add_header( 'User_Agent','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.41')#打开百度网页
urllib=urllib.request.urlopen(url).read()#‘wb’以二进制格式打开文件
file=open('baidu.html','wb')
file.write(urllib)
#关闭文件
file.close()

四.超时设置

        如果访问一个网页,且长时间没有得到反应,这个时候超时设置就会自动断开对网页的访问,函数timeout()

#超时设置10秒
file=urllib.request.urlopen("https://www.baidu.com/",timeout=10)

五.get和post请求

        HTTP请求协议有6种:GET  ,POST  ,PUT  ,DELETE  ,HEAD  ,OPTIONS, 这里不解释其他四种请求了

1.get请求

        GET请求:get请求会通过URL网址传递信息,可以直接在URL中写上要传递的信息,也可以由表单进行传递

在urllib中个get请求这样:注意请求的参数

urllib.request.Request("https://www.baidu.com/s?wd=value")

2.post请求

post请求:向服务器提交数据

        对与post请求常常用在表单的提交,实现的思路是在get请求中添加要post的参数,所有要构建表单并用urllib.parse.urlencode对数据进行编码处理

例如:post登录界面部分代码:

#编码数据
postdata=urllib.parse.urlencode({"username":"myun","pass":"******"
})
#将数据传入get请求
urllib.request.Request(url,postdata)

注意:再随便提提异常处理urllib.error.URLError和urllib.error.HTTPError,前者是后者的父类

urllib.error.URLError产生的原因:

1.连接不上服务器        2.远程URL不存在        3.无网络        4.触发了HTTPError

HTTPError产生主要是没有模拟浏览器访问或某些网址反爬虫技术高超

http://www.hyszgw.com/news/57421.html

相关文章:

  • 龙华区城市建设局网站网页传奇游戏怎么注销
  • 服务型网站建设的主题能源公司网站建设
  • 佛山网站制作做多少钱广州aso优化
  • 个体做敦煌网站怎么样中国建设银行网站地图
  • 哪个网站做推广做的最好源创派网站建设
  • 中国建设银行官网站电脑版国家城乡住房建设厅网站
  • 联科网站建设企业建设网站专业服务
  • 做网站排版招聘网页怎么制作
  • 网站建设评比工具网站有哪些
  • 树形菜单的网站代码如何将vs做的网站备份出来
  • 如何自建购物网站厦门专业制作网站
  • 兰州企业网站排名优化cad dwt模板做网站模版
  • 建设网站建设哪家便宜一个网页
  • 建站公司获客成本阿里云 wordpress搭建网站
  • php语言开发网站流程深圳怎么注册公司
  • 网站用哪些系统做的好处大连平台网站建设
  • 做seo网站推广价格您的网站空间即将过期
  • asp.net网站搬迁到移动终端wordpress 表单附件
  • 电视剧手机网站大全微信小程序ppt模板
  • 建设工程立项在哪个网站查询汤臣倍健网站建设方案
  • nginx网站开发最版网站建设案例
  • 自建站做seo建设网站的合约
  • 百科网站推广济宁外贸网站建设
  • 深圳网站建设优化推广公司西峰网
  • 网站开发与技术分析广州门户网站建设
  • 网站后台修改导航栏开发板是什么东西
  • 贵阳美丽乡村建设网站杭州做网站的公司哪家好
  • 网题 做问卷的网站一览英才网招聘信息网
  • 建筑设计类英文的网站韩国有哪些专业做汽车的网站
  • 个人网站制作总体设计wordpress换域名后进后台