爬虫1_python2
# -*- 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的更多相关文章
- 设计爬虫Hawk背后的故事
本文写于圣诞节北京下午慵懒的午后.本文偏技术向,不过应该大部分人能看懂. 五年之痒 2016年,能记入个人年终总结的事情没几件,其中一个便是开源了Hawk.我花不少时间优化和推广它,得到的评价还算比较 ...
- Scrapy框架爬虫初探——中关村在线手机参数数据爬取
关于Scrapy如何安装部署的文章已经相当多了,但是网上实战的例子还不是很多,近来正好在学习该爬虫框架,就简单写了个Spider Demo来实践.作为硬件数码控,我选择了经常光顾的中关村在线的手机页面 ...
- Python 爬虫模拟登陆知乎
在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...
- scrapy爬虫docker部署
spider_docker 接我上篇博客,为爬虫引用创建container,包括的模块:scrapy, mongo, celery, rabbitmq,连接https://github.com/Liu ...
- scrapy 知乎用户信息爬虫
zhihu_spider 此项目的功能是爬取知乎用户信息以及人际拓扑关系,爬虫框架使用scrapy,数据存储使用mongo,下载这些数据感觉也没什么用,就当为大家学习scrapy提供一个例子吧.代码地 ...
- 120项改进:开源超级爬虫Hawk 2.0 重磅发布!
沙漠君在历时半年,修改无数bug,更新一票新功能后,在今天隆重推出最新改进的超级爬虫Hawk 2.0! 啥?你不知道Hawk干吗用的? 这是采集数据的挖掘机,网络猎杀的重狙!半年多以前,沙漠君写了一篇 ...
- Python爬虫小白入门(四)PhatomJS+Selenium第一篇
一.前言 在上一篇博文中,我们的爬虫面临着一个问题,在爬取Unsplash网站的时候,由于网站是下拉刷新,并没有分页.所以不能够通过页码获取页面的url来分别发送网络请求.我也尝试了其他方式,比如下拉 ...
- Python多线程爬虫爬取电影天堂资源
最近花些时间学习了一下Python,并写了一个多线程的爬虫程序来获取电影天堂上资源的迅雷下载地址,代码已经上传到GitHub上了,需要的同学可以自行下载.刚开始学习python希望可以获得宝贵的意见. ...
- QQ空间动态爬虫
作者:虚静 链接:https://zhuanlan.zhihu.com/p/24656161 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 先说明几件事: 题目的意 ...
随机推荐
- es6常用方法
一.let 和 constlet 声明变量,只在所在的块区有效,不存在变量提升:var 存在变 量提升const 声明常量,只在所在块区有效 二.变量的解构赋值1.数组的解构赋值let [a, b, ...
- 【转】PHP实现下载与压缩文件的封装与整理
[转]PHP实现下载与压缩文件的封装与整理 https://mp.weixin.qq.com/s/BUI3QsdNi6Nqu0NhrUL8hQ 一.PHP实现打包zip并下载功能 $file_t ...
- pytest框架(三)
pytharm运行三种方式 代码示例: # coding=utf-8 import pytest class TestClass: def test_one(self): x = "this ...
- Python基础:模块化来搭项目
简单模块化 import 最好在最顶端 sys.path.append("..")表示把当前程序所在位置向上提了一级 在python3规范中,__init__.py并不是必须的. ...
- js 中止程序继续进行(break continue return throw)
1.break 跳出循环 2.continue 跳出本次循环,进入下次循环 3.return 中止当前函数继续执行 4.throw 异常信息;中止程序抛出异常,可用于中止程序
- SpringBoot---Web开发---WebSocket
[广播式] 1. <?xml version="1.0" encoding="UTF-8"?> <project xmlns="ht ...
- (转)Linux基础知识学习
Linux基础知识学习 原文:http://blog.csdn.net/ye_wei_yang/article/details/52777499 一.Linux的磁盘分区及目录 Linux的配置是通过 ...
- jeesite框架搭建中mysql数据库导入问题
在进行mysql8.0的安装配置时,可以说是道路坎坷,之前介绍了如何安装配置mysql8.0,虽然mysql在正常情况下是很容易安装的,但是如果遇到特殊情况的时候那就需要特殊的处理. 这次我遇到的问题 ...
- C#oracle还原imp实例
C#来做oracle还原,调用oracle自带函数imp.exe时,需要注意的是:1.imp.exe 中fromuser 和touser两个关键字: fromuser与exp.exe中的owner对应 ...
- 笔试题五道spring
项目中如何体现Sping 中的切面编程,举例说明 面向切面编程:主要是横切 一个关注点,将一个关注点模块化成一个切面,在切面上声明一个通知(Advice)和切入点 (Pointcut) 通知:是指在切 ...