什么是网络爬虫?

网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件

爬虫有什么用?

做为通用搜索引擎网页收集器。(google,baidu)做垂直搜索引擎.科学研究:在线人类行为,在线社群演化,人类动力学研究,计量社会学,复杂网络,数据挖掘,等领域的实证研究都需要大量数据,网络爬虫是收集相关数据的利器。偷窥,hacking,发垃圾邮件……

爬虫是搜索引擎的第一步也是最容易的一步

用什么语言写爬虫?

C,C++。高效率,快速,适合通用搜索引擎做全网爬取。缺点,开发慢,写起来又臭又长,例如:天网搜索源代码。脚本语言:Perl, Python, Java, Ruby。简单,易学,良好的文本处理能方便网页内容的细致提取,但效率往往不高,适合对少量网站的聚焦爬取C#?(貌似信息管理的人比较喜欢的语言)

选择Python做爬虫的原因:

跨平台,对Linux和windows都有不错的支持。

科学计算,数值拟合:Numpy,Scipy

可视化:2d:Matplotlib(做图很漂亮), 3d: Mayavi2

复杂网络:Networkx统计:与R语言接口:Rpy

交互式终端

网站的快速开发

一个简单的Python爬虫import urllib

import urllib.request

def loadPage(url,filename):

"""

作用:根据url发送请求,获取html数据;

:param url:

:return:

"""

request=urllib.request.Request(url)

html1= urllib.request.urlopen(request).read()

return html1.decode('utf-8')

def writePage(html,filename):

"""

作用将html写入本地

:param html: 服务器相应的文件内容

:return:

"""

with open(filename,'w') as f:

f.write(html)

print('-'*30)

def tiebaSpider(url,beginPage,endPage):

"""

作用贴吧爬虫调度器,负责处理每一个页面url;

:param url:

:param beginPage:

:param endPage:

:return:

"""

for page in range(beginPage,endPage+1):

pn=(page - 1)*50

fullurl=url+"&pn="+str(pn)

print(fullurl)

filename='第'+str(page)+'页.html'

html= loadPage(url,filename)

writePage(html,filename)

if __name__=="__main__":

kw=input('请输入你要需要爬取的贴吧名:')

beginPage=int(input('请输入起始页'))

endPage=int(input('请输入结束页'))

url='https://tieba.baidu.com/f?'

kw1={'kw':kw}

key = urllib.parse.urlencode(kw1)

fullurl=url+key

tiebaSpider(fullurl,beginPage,endPage)

更多Python相关技术文章,请访问Python教程栏目进行学习!

以上就是为什么选择用python做爬虫的详细内容,更多请关注php中文网其它相关文章!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php和python写爬虫-为什么选择用python做爬虫相关推荐

  1. python 写csv scrapy_Python神技能 | 使用爬虫获取汽车之家全车型数据

    最近想在工作相关的项目上做技术改进,需要全而准的车型数据,寻寻觅觅而不得,所以就只能自己动手丰衣足食,到网上获(窃)得(取)数据了. 汽车之家是大家公认的数据做的比较好的汽车网站,所以就用它吧.(感谢 ...

  2. python写脚本入门-学习Python的教程?:python 脚本菜鸟教程

    学习Python的教程? Python作为一门面向对象的性语言,其实它的学习也很简单 - 配置 - Python基础(语法..数据类型.高级变量.函数.Python高级特性) - 面向对象编程.面向对 ...

  3. 用python写数字_用python 写游戏之数字华容道

    当初对这个游戏颇有印象还是在最强大脑节目上面,何猷君以几十秒就完成了这个游戏.写2048游戏的时候,又想起了这个游戏,想着来研究一下. 游戏玩法 用尽量少的步数,尽量短的时间,将棋盘上的数字方块,按照 ...

  4. python写一个系统-使用Python写一个量化股票提醒系统

    大家在没有阅读本文之前先看下python的基本概念, Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开 ...

  5. python写游戏脚本-使用Python写一个小游戏

    引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下 ...

  6. python如何在没有环境的电脑上执行_没安装python的电脑可以运行python写的程序吗 python语言编写的程...

    py2exe 能够把 Python script 转换成可以在windows上独立执行的(即不需安装Python)的exe程序(加上其它必需的运行时函数库). -- 摘自百度知道 py2exe能够把P ...

  7. 我的世界python写游戏_用python写游戏之 Give it up

    <永不言弃 Give It Up>,这是一款极具虐心色彩的音乐题材闯关游戏. 这篇文章就来分析这款游戏原理,并用python写出来一个简易版.废话不多说,直接开始分析. 游戏元素,暂且把主 ...

  8. python写金字塔_金字塔python开发手册

    python API 基本方法 编写策略过程中所需要使用的基本函数.其中init和handle_bar是必须实现的两个方法,其余是可选择实现的方法. init (必须实现) init(context) ...

  9. python写词法分析器_用python写一个简单的词法分析器

    编译原理老师要求写一个java的词法分析器,想了想决定用python写一个. 目标 能识别出变量,数字,运算符,界符和关键字,用excel表打印出来. 有了目标,想想要怎么实现词法分析器. 1.先进行 ...

最新文章

  1. 编程实现灰度处理函数
  2. Transformer 会接管人工智能?
  3. 机器学习优化方法总结比较(SGD,Adagrad,Adadelta,Adam,Adamax,Nadam)
  4. LOJ#6374 网格
  5. 朝鲜时蔬(分数据点写算法+毒瘤数学)
  6. 《大数据》2015年第2期“专题”——我国大数据交易的主要问题及建议
  7. 宝藏(NOIP2017
  8. 用 Java 爬小姐姐图片,直接拿来用!这个厉害了。。。
  9. 渗透测试工具——密码攻击工具
  10. avx指令+openmp多线程实现一个基本算法作业 c++
  11. 【嵌入式Linux+ARM】ARM体系结构与编程(ARM概述)
  12. 如何清空c盘只剩系统_如何深度清理c盘空间(怎么清理c盘只留下系统)
  13. 单总体分布卡方拟合优度检验
  14. Python 猴子偷桃
  15. 文本识别之MASTER
  16. 梅特勒托利多xk3124电子秤说明书_梅特勒-托利多电子称设置方法
  17. vue3+vite+TS配置项目别名“@/“
  18. 自媒体平台有哪些?如何找到一个适合自己的自媒体平台?
  19. 上传webshell(入侵目标页面主机靶机演示)
  20. win10安装账户卡住_安装win10系统卡住不动的原因和处理方法

热门文章

  1. springboot和flowable modeler整合
  2. 非Java程序员转行Java-day01-入门基础
  3. 网络传输中的两个阶段、阻塞IO、非阻塞IO和多路复用
  4. FastJson常见问题
  5. d3.js——比例尺的使用
  6. 数据库还原失败System.Data.SqlClient.SqlError: 无法执行 BACKUP LOG,因为当前没有数据库备份...
  7. Tomcat8.0之源代码初体验
  8. Eclipse Android编程快捷键
  9. HDOJ1035 ( Robot Motion ) 【递归】
  10. 深度剖析Kubernetes API Server三部曲 - part 1