百度爬虫用啥语言

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百度爬虫用啥语言相关的知识,希望对你有一定的参考价值。

参考技术A 问题一:Google和百度的爬虫是用什么语言写的? 15分 每个网站都有一个“爬虫协议”,至少大型网站都会有。
Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。
越是大型网站,Robots协议越规范,他们为了提高自己在搜索结果的位置,会针对百度、谷歌等搜素引擎写爬虫协议,而百度等搜索引擎不需要特别针对这些大网站写协议换个角度想,大的搜索引擎就那几个,而所谓“大网站”数不胜数,怎么可能写的过来?
如果你没能理解这部分内容,说明你还处在“菜鸟”级别。一般的爬虫算法是:先查找新地址,用队列或者堆栈来存储新增加的url;然后用爬虫程序从队列或者堆栈中取地址,继续爬虫。因为这两方面程序执行的速度是不一样的,不是说找到一个url就能立即爬完,或者有时候还没找到新url就已经爬完了,所以分了两个结构。
一般的程序中都会用多个函数来执行一个过程,但这在新手的学习中是不常见到、也是不易搞懂的。
鉴于你提出的问题,我觉得你不到能搞通爬虫程序的阶段,建议你还是从简单的程序开始。看看这个编程语言入门经典100例【Python版】,希望对你有帮助

问题二:百度他们公司 那建立索引 做爬虫这些的用什么语言? 实现搜索引擎核心算法 用什么语言啊? 爬虫什么耿言都可以写 拆解出来 主要就两部分
一部分是获取html
另一部分是正则表达式
这要有这两部分就能从网页上爬出有用的信息来了
至于多线程、OCR、分布式任务要根据你抓取站点的目标来做,并非是必须的

问题三:一般公司做爬虫采集的话常用什么语言 C# python
工具 phantomjs casperjs

问题四:请详细解释什么事百度爬虫,有什么作用 说通俗一点就是一段程序,这段程序可以在互联网上自动查询更新的网站

问题五:网络爬虫用什么语言好 爬虫好像很多语言都有,java,C#,python等等。我自己用的是python.

问题六:开发网络爬虫用什么语言比较好 python虽然我没用过,但是这个应嘎是最好的

问题七:网络爬虫用什么语言什么方式实现好 首先取决于目的 如果是一个站点,单一目的,用习惯的语言写吧,学别的语言用的时间都够重构两遍的了。 如果是有100左右的站点,做个框架,把你的爬虫管理起来,比起怎么写更重要。 用Java写过,语言笨重,所建立的数据模型的任何修改都会导致代

问题八:爬虫web软件 用什么开发语言最好 你可以试试用【神箭手云爬虫】写爬虫,
完全在云上编写和执行爬虫,不需要配置任何开发环境,快速开发快速实现。
官网上有不少网站的爬虫源码分享
还有专门的开发者文档,里面的教程很详细,各种基本爬虫基础和进阶开发知识都有介绍。
爬虫编辑器:
神箭手云爬虫开发平台:

问题九:各种语言写网络爬虫有什么优点缺点 我用 php 和 Python 都写过爬虫和正文提取程序。
最开始使用 PHP 所以先说说 PHP 的优点:
1.语言比较简单,PHP 是非常随意的一种语言。写起来容易让你把精力放在你要做的事情上,而不是各种语法规则等等。
2.各种功能模块齐全,这里分两部分:
1.网页下载:curl 等扩展库;
2.文档解析:dom、xpath、tidy、各种转码工具,可能跟题主的问题不太一样,我的爬虫需要提取正文,所以需要很复杂的文本处理,所以各种方便的文本处理工具是我的大爱。;
总之容易上手。
缺点:
1.并发处理能力较弱:由于当时 PHP 没有线程、进程功能,要想实现并发需要借用多路服用模型,PHP 使用的是 select 模型。实现其来比较麻烦,可能是因为水平问题我的程序经常出现一些错误,导致漏抓。
再说说 Python:
优点:
1.各种爬虫框架,方便高效的下载网页;
2.多线程、进程模型成熟稳定,爬虫是一个典型的多任务处理场景,请求页面时会有较长的延迟,总体来说更多的是等待。多线程或进程会更优化程序效率,提升整个系统下载和分析能力。
3.GAE 的支持,当初写爬虫的时候刚刚有 GAE,而且只支持 Python ,利用 GAE 创建的爬虫几乎免费,最多的时候我有近千个应用实例在工作。
缺点:
1.对不规范 HTML 适应能力差:举个例子,如果一个页面里面同时有 GB18030 字符集的中文和 UTF-8 字符集的中文,Python 处理起来就没有 PHP 那么简单,你自己需要做很多的判断工作。当然这是提取正文时的麻烦。
Java 和 C++ 当时也考察过,相对脚本语言比较麻烦,所以放弃。
总之,如果开发一个小规模的爬虫脚本语言是个各方面比较有优势的语言。如果要开发一个复杂的爬虫系统可能 Java 是个增加选项, C++ 我感觉写个模块之类的更加适合。对于一个爬虫系统来说,下载和内文解析只是基本的两个功能。真正好的系统还包括完善的任务调度、监控、存储、页面数据保存和更新逻辑、排重等等。爬虫是一个耗费带宽的应用,好的设计会节约大量的带宽和服务器资源,并且好坏差距很大。

问题十:爬虫技术 什么编程语言 爬虫的主要原理是抓取html的内容,大部分目前常见的语言都有相关的网络编程API,都能实现网络爬虫。比如说Java, Python, C++, C#, PHP, Perl等语言都可以。
希望对你有所帮助!

爬虫到百度贴吧,爬去自己的小说

最近在微信里看了一个小说叫《阴阳代理人》的,看到一半,发现断了,作者说把后面的部分放到了百度贴吧,去了贴吧发现,文章看起来比较费劲,乱糟糟的,所以为了我的小说,弄个了爬虫,去给我弄下来。

#!/user/bin/env python
# -*- coding:utf-8 -*-
import urllib2
import urllib
import re

#小说章节类
class ZHANGJIE:
    #初始化传入地址
    def __init__(self,zjUrl,Num):
        self.zjUrl = zjUrl    
        self.Num = Num    
    
    #传入页码,获得网页源代码,只看精品
    def getPage(self):
        url = self.zjUrl + str(self.Num)
        request = urllib2.Request(url)
        response = urllib2.urlopen(request)
        return response.read()

    #获取每章链接资源
    def getNum(self):
        webcon = self.getPage()
        Num = re.findall(‘<a href="/p/(\d+)"‘,webcon)
        global Num_r
        Num_r = Num[::-1]
        return Num_r

#每题内容类
class NEIRONG:
    #初始化,传入地址
    def __init__(self,nrUrl,Num):
        self.nrUrl = nrUrl
        self.Num = Num

    #传入资源页码,获得网页源代码,只看楼主
    def getPage(self):
        url = self.nrUrl + str(self.Num) + ‘?see_lz=1‘
        request = urllib2.Request(url)
        response = urllib2.urlopen(request)
        return response.read()
        
    #获取小说章节和标题
    def getTitle(self):
        webcon = self.getPage()
        title = re.search(‘style="width: 450px">(.*)</h1>‘,webcon).group(1)
        return title

    #获得小说内容并打印换行
    def getCon(self):
        webcon = self.getPage()
        try:
            con = re.search(‘支持兰大,一定要记得投票哦!推荐票!(.*)(</div><br>)‘,webcon).group(1)
            con_n = re.sub(‘<br>‘,‘\n‘,con)
            return con_n
        except AttributeError:
            return ‘广告内容,已经忽略‘

    #写入文件
    def writeDate(self):
        con_t = self.getTitle()
        con_n = self.getCon()
        try:
            with open(‘/tmp/yydlr.txt‘,‘a‘) as f:
                f.write(‘\n‘)
                f.write(‘\n‘)
                f.write(con_t)
                f.write(con_n)
        except IOError:
            print ‘写入异常‘ 

for i in range(3050,1650,-50):
    ZJ = ZHANGJIE(‘http://tieba.baidu.com/f/good?kw=%E9%98%B4%E9%98%B3%E4%BB%A3%E7%90%86%E4%BA%BA&ie=utf-8&cid=0&pn=‘,i)
    ZJ.getNum()
    for i in Num_r:
        NR = NEIRONG(‘http://tieba.baidu.com/p/‘,i)
        NR.writeDate()
print ‘小说已经准备好啦‘


本文出自 “大碗儿板儿面” 博客,请务必保留此出处http://banmian.blog.51cto.com/10975819/1748420

以上是关于百度爬虫用啥语言的主要内容,如果未能解决你的问题,请参考以下文章

爬虫到百度贴吧,爬去自己的小说

java网络爬虫爬取百度新闻

python --爬虫--爬取百度翻译

爬虫实战:百度失信人名单

爬虫百战穿山甲:百度翻译爬虫

爬虫试手——百度贴吧爬虫