学习python写网络爬虫(一)
来源:互联网 发布:微信公众号源码下载 编辑:程序博客网 时间:2024/04/18 14:07
寻找网站所有者,可以使用WHOIS协议查看域名的注册者是谁。使用whois模块可以查看。
在linux在安装模块:pip install python-whois
在windows安装模块:
1. 下载模块并解压
2. 打开cmd,定位的解压模块目录
3. 运行命令:setup.py build
setup.py install
4. 重新打开python IDE, import 模块名称 ,没报错则安装成功
#最简单的爬虫import urllib2def download(url): return urllib2.urlopen(url).read()print download('http://www.cnblogs.com/guoyongheng')
#更加健壮的版本,可以捕获异常了import urllib2def download(url): print 'Downloading:',url try: html = urllib2.urlopen(url).read() except urllib2.URLError as e: print 'Download error:',e.reason html = None return htmlprint download('http://www.cnblogs.com/guoyongheng')
#如果发生5xx类型的错误,可以重试下载import urllib2def download(url,num_retries = 2): print 'Downloading:',url try: html = urllib2.urlopen(url).read() except urllib2.URLError as e: print 'Download error:',e.reason html = None if num_retries > 0: if hasattr(e,'code') and 500 <= e.code < 600: return download(url,num_retries-1) return htmlprint download('http://httpstat.us/500')
#为了下载更加可靠,设置了一个默认的用户代理“wswp”#与之前写的代码的对比就是加了代理之后,爬我的csdn博客时可以#爬下来了,而不加代理的时候,则无法爬取import urllib2def download(url, user_agent = 'wswp', num_retries = 2): print 'Downloading:',url headers = {'User-agent':user_agent} request = urllib2.Request(url,headers=headers) try: html = urllib2.urlopen(request).read() except urllib2.URLError as e: print 'Download error:',e.reason html = None if num_retries > 0: if hasattr(e,'code') and 500 <= e.code < 600: return download(url,num_retries-1) return htmlprint download('http://blog.csdn.net/gyhguoge01234')
0 0
- 学习python写网络爬虫(一)
- 写网络爬虫学python(一)
- 学习python写网络爬虫(二)
- 学习python写网络爬虫(三)
- 学习Python之网络爬虫(一)
- Python 网络爬虫学习(一)
- Python网络爬虫学习笔记(一)
- 用Python写网络爬虫系列(一)
- 【网络爬虫】【python】网络爬虫(一):python爬虫概述
- 学习python写网络爬虫(四)
- 用python 写网络爬虫 学习笔记
- python网络爬虫(一)
- python网络爬虫(一)
- python网络爬虫(一)
- WSWP(用python写网络爬虫)笔记 一:实现简单爬虫
- 我的Python入门学习(一):网络刷博器爬虫
- 学习笔记—Python网络爬虫(一)
- Python网络爬虫学习scrapy(一)
- Android面试基础
- 如何理解递归
- android中activuty的简单总结
- Linux - C预习内容(七)
- java中常用的加密方式
- 学习python写网络爬虫(一)
- 从零开始学习Nodejs(一)
- 【Java TCP/IP Socket】Java NIO Socket VS 标准IO Socket
- JZOJ4559 【NOI2016模拟6.23】水平线上的肮脏交易和卑鄙勾当 转换模型后CDQ分治
- 设置的mysql密码无效的问题
- 【iOS开发】swift 3.0 延长设置launch image启动页面图片显示时间
- 多态总结,接口知识==0914
- 如何设置Oracle客户端与服务器的字符集一致
- Java继承,在构造函数内对父类初始化的问题