# -*- 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. NHibernate 打不开工厂有可能是这几个原因

    1. 属性必须虚拟化. 2.属性必须要有Id 字段 3.数据库必须要是创建好的数据库.

  2. 使用Xilinx SDSoc在Xilinx zcu102开发板上编程HelloWorld

    关于Xilinx SDSoc的介绍我就不再复述了,我理解的也不一定准确,可以阅读官方文档了解SDSoc,你可以把它理解为一个集成开发环境 (IDE),通过SDSoc我们能够简单快速的对Xilinx的开 ...

  3. ms sql server line feed

    多行文本换行: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================== ...

  4. MATLAB实现回归分析

    下面是一道例题

  5. AnimationCurve

    http://blog.sina.com.cn/s/blog_471132920101f8nv.html 说明:关于animationCurve的使用总结1 创建,可以新建脚本,创建animation ...

  6. Zjnu Stadium(加权并查集)

    Zjnu Stadium Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  7. 洛谷P3757 [CQOI2017]老C的键盘

    传送门 首先可以直接把整个序列建成一个完全二叉树的结构,这个应该都看得出来 然后考虑树形dp,以大于为例 设$f[i][j]$表示$i$这个节点在子树中排名第$j$位时的总方案数(因为实际只与相对大小 ...

  8. Vue实现选项卡效果

    <!DOCTYPE html> <html lang="en"> <head>    <meta charset="UTF-8& ...

  9. 省选准备 MISTAKE 大全

    2019-03-29 [NOI2016]网格 如果是矩形,要记得考虑n或m=1的情况,不要潜意识里就以为矩形就是接近正方形的那种理想矩形. 写bool型的函数,return 的语句要想清楚,不要放错位 ...

  10. Spring.Net框架学习错误集锦1

    最近IoC框架非常火热,所以就学习了非常流行的IOC框架之一spring.NET,遇到如下问题: Error creating context 'spring.root': Could not loa ...