python-快速使用urllib爬取网页(1)
来源:互联网 发布:ubuntu win7 系统时间 编辑:程序博客网 时间:2024/06/05 02:21
要使用Urllib爬取网页,首先需要导入用到的对应模块
urllib是python自带的模块,不需要下载
import urllib.request
导入了模块后,我们采用以下方法打开并爬取一个网页
file = urllib.request.urlopen("http://www.baidu.com")
此时,我们已经将爬取到的网页赋给了变量file
爬取完后,我们现在可以使用file.read()读取全部内容,也可以使用file.readline()读取一行内容
data = file.read()dataline = file.readline()
我们读取到我们所爬取的百度首页的全部内容和第一行内容了
接着print查看一下
print(data)print(dataline)
字符串变量 = file.read() #读取全部内容列表变量 = file.readlines() #读取全部内容字符串变量 = file.readline() #读取文件的一行内容
我们将爬出的内容存入本地的一个网页(第一种方法)
ps:本地不存在该文件的话,代码自动创建文件
1、将爬取内容赋予一个变量
2、以写入的方式打开本地文件
3、将变量的值写入本地文件 例:D:/python3.5/1.html
4、关闭改文件
fhandle = open("本地文件地址",“wb”)fhandle。write(data)fhandle,close()
打开本地html文件,发现我们已经将百度的内容爬取到了本地,只不过图片没有爬过来而已
我们将爬出的内容存入本地的一个网页(第二种方法)
ps:本地不存在该文件的话,代码自动创建文件
filename = urllib.request.urlretrieve("http://www.baidu.com",filename="D:/python3.5/2.html")
Urlretrive执行过程中,会产生一些缓存,我们如果想要清楚这些缓存信息,可以使用urlcleanup()进行清除
urllib.request.urlcleanup()
返回与当前环境的有关的信息
a = file.info()print(a)
获取当前爬取网页的状态码,返回200为正确
b = file.getcode()print(b)
获取所爬取的网页的额url地址
c = file.geturl()print(c)
URL标准中只会允许一部分ASCII字符比如数字、字母、部分符号等
其他字符,如汉字不符合标准,这时需要URL编码来解决
编码解码代码如下
d = urllib.request.quote("http://www.baidu.com")print(d)e = urllib.request.unquote("http://www.haidu.com")print(e)
结果显示为:
http%3A//www.baidu.com
http://www.haidu.com
通过上面学习,我们已经知道如何爬取一个网页的信息并进行简答的处理了
整体代码如下:
# coding=utf-8import urllib.requesturl="http://www.baidu.com" #爬取网页的urlfile = urllib.request.urlopen(url) #爬取网页信息get = file.read() #读取网页所有信息getline = file.readline(); #读取第一行信息#将爬取内容读入本地文件的第一种方法#fhandle=open("D:/python3.5/1.html","wb")#fhandle.write(get)#fhandle.close()#将爬取内容读入本地文件的第二种方法#filename = urllib.request.urlretrieve("http://www.baidu.com",filename="D:/python3.5/2.html")#urllib.request.urlcleanup()#返回与当前环境的有关的信息a = file.info()#获取当前爬取网页的状态码,返回200为正确b = file.getcode()#获取所爬取的网页的额url地址c = file.geturl()#URL标准中只会允许一部分ASCII字符比如数字、字母、部分符号等#其他字符,如汉字不符合标准,这时需要URL编码来解决#编码解码代码如下#http%3A//www.baidu.com#http://www.haidu.comd = urllib.request.quote("http://www.baidu.com")print(d)e = urllib.request.unquote("http://www.haidu.com")print(e)print(a)print(b)print(c)print(get)print(getline)
阅读全文
0 0
- python-快速使用urllib爬取网页(1)
- python-快速使用urllib爬取网页(4-GET)
- python-快速使用urllib爬取网页(5-POST)
- python-快速使用urllib爬取网页(6-代理服务器)
- python-快速使用urllib爬取网页(7-DebugLog)
- python-快速使用urllib爬取网页(8-URLError)
- python-快速使用urllib爬取网页(小结)
- python-快速使用urllib爬取网页(2-Headers属性)
- python-快速使用urllib爬取网页(3-超时异常)
- 01爬虫---快速使用Urllib爬取网页
- python urllib爬取网页编码问题
- Python爬虫实例(4)-用urllib、re和正则表达式爬取网页图片
- python 使用selenium+urllib爬取淘宝MM照片
- 使用selenium等待网页加载完成,lxml解析网页,利用urllib爬取图片
- python urllib, urllib2实现登陆和简单爬取网页(个人坑点笔记)
- Python urllib 爬取基金数据
- python用urllib爬取百度
- Python 3.4 - urllib.request 学习爬虫爬网页(一)
- C#文件路径操作总结 转载自 51cto 周金桥
- Docker镜像技术
- centos7 安装matplotlib
- Jenkins个人搭建
- Linux内核笔记 -- RCU机制
- python-快速使用urllib爬取网页(1)
- android微信分享之视频、URL地址、表情分享
- 我的第一个可调参数深度学习模型
- 使用nutz进行复杂的数据库操作
- web学习笔记25-Hibernate基本配置使用
- 菜鸟编程 引用
- BZOJ 4289: PA2012 Tax 最短路 建图
- ubuntu 16.04配置shadowsocks
- 特殊形式矩阵求逆