python的络编程(爬虫)

举报
上传头像 发表于 2021/02/06 20:44:11 2021/02/06
【摘要】 网络编程(爬虫)Python是一个很强大的网络编程工具python内有很多针对常见网络协议的库,对网络协议的各个层次进行了抽象封装,因此使用python编写程序不必关心网络实现的细节网络编程(爬虫)使用urllib库互联网基本原理是基于“请求-响应”模式,获取互联网上的资源需要发出请求,即URLPython中实现的urllib,功能很强大,通过它们访问网络上的文件,就像访问本地电脑的文件一样...
网络编程(爬虫)
Python是一个很强大的网络编程工具
python内有很多针对常见网络协议的库,对网络协议的各个层次进行了抽象封装,因此使用python编写程序不必关心网络实现的细节

网络编程(爬虫)使用urllib库
互联网基本原理是基于“请求-响应”模式,获取互联网上的资源需要发出
请求,即URL
Python中实现的urllib,功能很强大,通过它们访问网络上的文件,就像访问本地电脑的文件一样

调用模块from urllib.request import urlopen
打开远程文件urlopen(),参数是URL,获取页面。支持多种方式:read()、readline()、readlines()、close()
下载文件urlretrieve()
例子1:
import urllib.request
def Schedule(a,b,c): #下载进度函数
# a:已经下载的数据块, b:数据块的大小, c:远程文件的大小
per = 100.0 * a * b / c
if per > 100 :
per = 100
print( ‘%.2f%%' % per)
url="http://www.baidu.com"
local="E:\\python program\\baidu.html"
urllib.request.urlretrieve(url,local,Schedule)

例子2:
import urllib.request
def Schedule(a,b,c): #下载进度函数
# a:已经下载的数据块, b:数据块的大小, c:远程文件的大小
per = 100.0 * a * b / c
if per > 100 :
per = 100
print( '%.2f%%' %per)
url="http://cdn2.ime.sogou.com/bff65f17b24272e5a5586f2e4700a72d/598713d7/dl/index/1501743646/sogou_wubi_30c.exe"
local="E:\\python program\\jidiandubi.exe"
urllib.request.urlretrieve(url,local,Schedule)

练习:爬虫 
import urllib.request
url='http://www.baidu.com/'
def getHtml(url):
page=urllib.request.urlopen(url)
html=page.read().decode(encoding='utf-8',errors='strict')
return html
print(getHtml(url))

read() 方法用于从文件读取指定的字节数,如果未给定或为负则读取所有。
Python decode() 方法以 encoding 指定的编码格式解码字符串。默认编码为字符串编码。该方法返回解码后的字符串。
encoding -- 要使用的编码,如"UTF-8"。
errors -- 设置不同错误的处理方案
该方法返回解码后的字符串

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。