# -*- 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. day03-CSS(1)

    一 .Css概念 CSS 指层叠样式表 (Cascading Style Sheets)(级联样式表) Css是用来美化html标签的,相当于页面化妆. ◆样式表书写位置 二. 选择器 1. 写法 选 ...

  2. Javascript 返回上一页:选中GridVIew的 Chekcbox

    1.  选中GridVIew的值 $("#reverse").click(function () { //$("#checkbox[Num]").attr(&q ...

  3. java基础第七篇之接口

    1.什么是接口: * 接口是方法的集合,而且接口中的方法全是抽象的 * 你可以把接口看成一个特殊的"抽象类",接口中的方法全是抽象的 * * * 2.java中怎么定义接口: * ...

  4. vue中axios开启cookies

  5. 搞定vscode编写java

    下载vscode: 地址: https://code.visualstudio.com/ 安装插件 我这里下载的是绿色版,所以解压后 向桌面发送一个快捷方式 找到VS Code 的快捷方式位置: 右键 ...

  6. c# Array或List有个很实用的ForEach方法,可以直接传入一个方法对集合中元素操作

    using System; using System.Collections.Generic; namespace demo { class Program { static void Main(st ...

  7. XmlSerilizer序列化出错时,不妨考虑BinaryFormatter

    当你使用XmlSerilizer序列化一个结构复杂的类型时出现反射出错 XmlSerilizer并不会告诉你哪个字段属性或者嵌套的字段属性不能被序列号,面对多年前的代码逐一排查很恼人使用BinaryF ...

  8. hadoop分布式存储(2)-hadoop的安装

    总共分三步:1.准备linux环境 租用“云主机”,阿里云,unitedStack等,云主机不受本机性能影响(或者直接安转linux操作系统或者虚拟机也行): PuTTy Configuration ...

  9. NET Core的分布式批处理框架

    NET Core的分布式批处理框架 Swift是什么 从文章的标题可知:此Swift非Apple那个Swift,只是考虑这个词的含义比较适合. Swift是一个基于.NET Core的分布式批处理框架 ...

  10. JAVA_HOME not recognized by tomcat7 in Ubuntu

    vi .bashrc 添加: export JAVA_HOME=/usr/lib/jvm/java--oracle export JRE_HOME=$JAVA_HOME/jre export CLAS ...