# -*- coding: UTF-8 -*- # python2爬虫 import urllib f = urllib.urlopen("http://www.itcast.cn/") print f.readline() # 读取html页面的第一行 print f.read() # ,读取源代码,该网址源代码为utf-8格式 # read(),readline(),readlines(),fileno(),close(),这些使用方法与文件对象完全一样 print f.info() # 获取网页所在服务器的头部信息 print f.getcode() # 获取网页状态码 print f.geturl() # 返回请求的url f.close() # 打开文件后,记得一定关闭防止内存没有回收,后果不堪回想 print urllib.urlopen('http://www.itcast.cn/23644657dafhgsg').getcode() # 网页状态码 # 200正常访问 301重定向 # 302临时重定向(不常见) 404网页不存在 403禁止访问 500服务器忙,无响应,过会才行 # HTTP权威指南,专门介绍http协议,Web开发和服务器端开发方向必备 url = 'http://www.163.com/' html = urllib.urlopen(url) # 打开网页 print html.read().decode('gbk').encode('utf-8') # 该网址源代码格式是gb2312,全部统一成gbk,然后再转化为utf-8格式 print html.read().decode('gbk','ignore').encode('utf-8')#当一些小网站编码混乱不规范时,可用'ignore'来帮助解决 # 总结 # urllib 简单易用的抓取模块 # urllib.urlopen()方法,获得类文件对象 # read()读取文件内容 # info()获取网页Header信息 # getcode()获取网页状态码 # geturl()获取传入的网址url f = urllib.urlopen('http://i1.szhomeimg.com/n/2014/02/02/0202002423269.JPG') print f.getcode() # 查看是否能打开 print f.readline() # 图片的内容看不懂 f.close() # urlretrieve方法将url定位到的html文件下载到你的本地硬盘中。如果不指定filename,则会存为临时文件。 urllib.urlretrieve('http://i1.szhomeimg.com/n/2014/02/02/0202002423269.JPG', filename='D:pachongworm1.jpg') url = "http://www.itcast.cn/" urllib.urlretrieve(url, 'D:\pachong\download.txt') # 网页抓取,下载网页(也可以将txt格式转成html) urllib.urlretrieve(url, 'D:\pachong\download.html')