# -*- 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:\pachong\worm1.jpg')
url = "http://www.itcast.cn/"
urllib.urlretrieve(url, 'D:\\pachong\\download.txt') # 网页抓取,下载网页(也可以将txt格式转成html)
urllib.urlretrieve(url, 'D:\\pachong\\download.html')

  

爬虫1_python2的更多相关文章

  1. 设计爬虫Hawk背后的故事

    本文写于圣诞节北京下午慵懒的午后.本文偏技术向,不过应该大部分人能看懂. 五年之痒 2016年,能记入个人年终总结的事情没几件,其中一个便是开源了Hawk.我花不少时间优化和推广它,得到的评价还算比较 ...

  2. Scrapy框架爬虫初探——中关村在线手机参数数据爬取

    关于Scrapy如何安装部署的文章已经相当多了,但是网上实战的例子还不是很多,近来正好在学习该爬虫框架,就简单写了个Spider Demo来实践.作为硬件数码控,我选择了经常光顾的中关村在线的手机页面 ...

  3. Python 爬虫模拟登陆知乎

    在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...

  4. scrapy爬虫docker部署

    spider_docker 接我上篇博客,为爬虫引用创建container,包括的模块:scrapy, mongo, celery, rabbitmq,连接https://github.com/Liu ...

  5. scrapy 知乎用户信息爬虫

    zhihu_spider 此项目的功能是爬取知乎用户信息以及人际拓扑关系,爬虫框架使用scrapy,数据存储使用mongo,下载这些数据感觉也没什么用,就当为大家学习scrapy提供一个例子吧.代码地 ...

  6. 120项改进:开源超级爬虫Hawk 2.0 重磅发布!

    沙漠君在历时半年,修改无数bug,更新一票新功能后,在今天隆重推出最新改进的超级爬虫Hawk 2.0! 啥?你不知道Hawk干吗用的? 这是采集数据的挖掘机,网络猎杀的重狙!半年多以前,沙漠君写了一篇 ...

  7. Python爬虫小白入门(四)PhatomJS+Selenium第一篇

    一.前言 在上一篇博文中,我们的爬虫面临着一个问题,在爬取Unsplash网站的时候,由于网站是下拉刷新,并没有分页.所以不能够通过页码获取页面的url来分别发送网络请求.我也尝试了其他方式,比如下拉 ...

  8. Python多线程爬虫爬取电影天堂资源

    最近花些时间学习了一下Python,并写了一个多线程的爬虫程序来获取电影天堂上资源的迅雷下载地址,代码已经上传到GitHub上了,需要的同学可以自行下载.刚开始学习python希望可以获得宝贵的意见. ...

  9. QQ空间动态爬虫

    作者:虚静 链接:https://zhuanlan.zhihu.com/p/24656161 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 先说明几件事: 题目的意 ...

随机推荐

  1. lower_bound和upper_bound使用说明

    #include <bits/stdc++.h> using namespace std; int main() { ]; ;i<=;i++) { a[i] = i*; } ;i&l ...

  2. [Swift]Xcode实际操作

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  3. Python学习笔记(异常处理)

    用户输入了一个不合规定的值,或者需要打开的文件不存在.这些情况被称作“异常”,一个好的程序需要能处理可能发生的异常,避免程序因此而中断. 例如我们去打开一个文件: f = file('non-exis ...

  4. 脑图和MarkDown

    使用脑图整理前端体系 根据以下网址整理 http://web.jobbole.com/84062/ http://naotu.baidu.com/ 学习MarkDown语法格式 (一) 标题 在首行插 ...

  5. Python小世界:匿名函数、高阶函数、推导式

    前言 木子本人搞起Python已有多年,一直觉得什么都会,但是有时候实操起来,才觉得很多底层基础的知识都没有彻底的灵活掌握. 另外,网上关于Python基础知识的各种普及已有太多太多. 附上相关大神的 ...

  6. JS高级学习历程-17

    [正则案例] 1 匹配手机号码

  7. 一行命令将ubuntu升级到最新版本

    zzupdate 是一个开源的命令行程序,通过将几个更新命令组合到一个命令中,使得将 Ubuntu 桌面和服务器版本升级到更新版本的任务变得容易一些. 将 Ubuntu 系统升级到更新的版本并不是一项 ...

  8. Netty-promise

    public class TimeEncoder extends ChannelOutboundHandlerAdapter { @Override public void write(Channel ...

  9. 063 Unique Paths II 不同路径 II

    这是“不同路径” 的进阶问题:现在考虑网格中有障碍物.那样将会有多少条不同的路径从左上角到右下角?网格中的障碍物和空位置分别用 1 和 0 来表示.例如,如下所示在 3x3 的网格中有一个障碍物.[  ...

  10. 在Eclipse下搭建Hadoop开发环境

    在前面的博文中博主展示了如何在虚拟机中搭建Hadoop的单节点伪分布集群,今天给大家介绍一下如何在Eclipse环境中搭建Hadoop的管理和开发环境,话不多说,下面我们就进入正题吧! 1.JDK安装 ...