为什么说python适合写爬虫


Posted in Python onJune 11, 2020

抓取网页本身的接口

相比与其他静态编程语言,如java,c#,C++,python抓取网页文档的接口更简洁;相比其他动态脚本语言,如perl,shell,python的urllib2包提供了较为完整的访问网页文档的API。(当然ruby也是很好的选择)

此外,抓取网页有时候需要模拟浏览器的行为,很多网站对于生硬的爬虫抓取都是封杀的。这是我们需要模拟user agent的行为构造合适的请求,譬如模拟用户登陆、模拟session/cookie的存储和设置。在python里都有非常优秀的第三方包帮你搞定,如Requests,mechanize

网页抓取后的处理

抓取的网页通常需要处理,比如过滤html标签,提取文本等。python的beautifulsoap提供了简洁的文档处理功能,能用极短的代码完成大部分文档的处理。

其实以上功能很多语言和工具都能做,但是用python能够干得最快,最干净。Life is short, u need python.

冲最后一句‘Lifeisshort,uneedpython',立马在当当上买了本python的书!以前就膜拜过python大牛,一直想学都扯于各种借口迟迟没有开始。。

py用在linux上很强大,语言挺简单的。

  • NO.1 快速开发(唯一能和python比开发效率的语言只有rudy)语言简洁,没那么多技巧,所以读起来很清楚容易。
  • NO.2跨平台(由于python的开源,他比java更能体现"一次编写到处运行"
  • NO.3解释性( 无须编译,直接运行/调试代码)
  • NO.4构架选择太多(GUI构架方面 主要的就有 wxPython, tkInter, PyGtk, PyQt 。

知识点扩展:

用python写爬虫相关的实例:

# coding:utf-8
import urllib

domain = 'http://www.liaoxuefeng.com'   #廖雪峰的域名
path = r'C:\Users\cyhhao2013\Desktop\temp\\' #html要保存的路径

# 一个html的头文件
input = open(r'C:\Users\cyhhao2013\Desktop\0.html', 'r')
head = input.read()

# 打开python教程主界面
f = urllib.urlopen("http://www.需要爬取的网址.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000")
home = f.read()
f.close()

# 替换所有空格回车(这样容易好获取url)
geturl = home.replace("\n", "")
geturl = geturl.replace(" ", "")

# 得到包含url的字符串
list = geturl.split(r'em;"><ahref="')[1:]

# 强迫症犯了,一定要把第一个页面也加进去才完美
list.insert(0, '/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000">')

# 开始遍历url List
for li in list:
 url = li.split(r'">')[0]
 url = domain + url    #拼凑url
 print url
 f = urllib.urlopen(url)
 html = f.read()

 # 获得title为了写文件名
 title = html.split("<title>")[1]
 title = title.split(" - 廖雪峰的官方网站</title>")[0]

 # 要转一下码,不然加到路径里就悲剧了
 title = title.decode('utf-8').replace("/", " ")

 # 截取正文
 html = html.split(r'<!-- block main -->')[1]
 html = html.split(r'<h4>您的支持是作者写作最大的动力!</h4>')[0]
 html = html.replace(r'src="', 'src="' + domain)

 # 加上头和尾组成完整的html
 html = head + html+"</body></html>"

 # 输出文件
 output = open(path + "%d" % list.index(li) + title + '.html', 'w')
 output.write(html)
 output.close()

到此这篇关于为什么说python适合写爬虫的文章就介绍到这了,更多相关为什么用python写爬虫内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中的闭包详细介绍和实例
Nov 21 Python
Python实现豆瓣图片下载的方法
May 25 Python
详细介绍Python的鸭子类型
Sep 12 Python
Python实现字符串与数组相互转换功能示例
Sep 22 Python
python 寻找优化使成本函数最小的最优解的方法
Dec 28 Python
解决matplotlib库show()方法不显示图片的问题
May 24 Python
Python基于matplotlib画箱体图检验异常值操作示例【附xls数据文件下载】
Jan 07 Python
把pandas转换int型为str型的方法
Jan 29 Python
Python命令行参数解析工具 docopt 安装和应用过程详解
Sep 26 Python
win10下安装Anaconda的教程(python环境+jupyter_notebook)
Oct 23 Python
Python获取百度热搜的完整代码
Apr 07 Python
使用Django实现商城验证码模块的方法
Jun 01 Python
python新手学习使用库
Jun 11 #Python
keras实现多种分类网络的方式
Jun 11 #Python
python的help函数如何使用
Jun 11 #Python
新手学python应该下哪个版本
Jun 11 #Python
python开发前景如何
Jun 11 #Python
python编写softmax函数、交叉熵函数实例
Jun 11 #Python
python能开发游戏吗
Jun 11 #Python
You might like
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
PHP进程同步代码实例
2015/02/12 PHP
PHP编程实现阳历转换为阴历的方法实例
2017/08/08 PHP
php和asp语法上的区别总结
2019/05/12 PHP
laravel 去掉index.php伪静态的操作方法
2019/10/12 PHP
CSS中一些@规则的用法小结
2021/03/09 HTML / CSS
统计jQuery中各字符串出现次数的工具
2012/05/03 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
append和appendTo的区别以及appendChild用法
2013/12/24 Javascript
js实现飞入星星特效代码
2014/10/17 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
动态加载js文件简单示例
2016/04/21 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
2016/05/30 Javascript
Bootstrap table的使用方法
2016/11/02 Javascript
JavaScript获取短信验证码(周期性)
2016/12/29 Javascript
angularJs在多个控制器中共享服务数据的方法
2018/09/30 Javascript
js使用formData实现批量上传
2020/03/27 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
2018/10/26 Javascript
详解Vue中使用插槽(slot)、聚类插槽
2019/04/12 Javascript
JavaScript设计模式之策略模式实现原理详解
2020/05/29 Javascript
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
浅析python3字符串格式化format()函数的简单用法
2018/12/07 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
2019/04/12 Python
python3中numpy函数tile的用法详解
2019/12/04 Python
基于pytorch的lstm参数使用详解
2020/01/14 Python
Python基于tkinter canvas实现图片裁剪功能
2020/11/05 Python
Python在后台自动解压各种压缩文件的实现方法
2020/11/10 Python
Tory Burch美国官方网站:美国时尚生活品牌
2016/08/01 全球购物
size?丹麦官网:英国伦敦的球鞋精品店
2019/04/15 全球购物
市场营销管理制度
2014/01/29 职场文书
党员2014两会学习心得体会
2014/03/17 职场文书
工程部岗位职责范本
2015/04/11 职场文书
大学生逃课检讨书
2015/05/04 职场文书
高中议论文(范文2篇)
2019/08/19 职场文书
Jupyter notebook 输出部分显示不全的解决方案
2021/04/24 Python
HTML通过表单实现酒店筛选功能
2021/05/18 HTML / CSS