python爬虫相关基础概念

  • 什么是爬虫

  爬虫就是通过编写程序模拟浏览器上网,然后让其去互联网上抓取数据的过程。

  • 哪些语言可以实现爬虫

  1.php:可以实现爬虫。但是php在实现爬虫中支持多线程和多进程方面做得不好。

  2.java:可以实现爬虫。java可以非常好的处理和实现爬虫,是唯一可以与python并驾齐驱的。但是java实现爬虫代码较为臃肿,重构成本较大。

  3.c、c++:可以实现爬虫。相比较来说难度比较大。

  4.python:可以实现爬虫。python实现和处理爬虫语法简单,代码优美学习成本低,支持的模块比较多,具有非常强大的框架(scrapy等)。

  • 爬虫的分类

  1.通用爬虫:通用爬虫是搜索引擎(baidu、Google、Yahoo等)“抓取系统”的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。简单来讲就是尽可能的;把互联网上的所有的网页下载下来,放到本地服务器里形成备份,在对这些网页做相关处理(提取关键字、去掉广告),最后提供一个用户检索接口。

  • 搜索引擎如何抓取互联网上的网站数据?
    • 门户网站主动向搜索引擎公司提供其网站的url
    • 搜索引擎公司与DNS服务商合作,获取网站的url
    • 门户网站主动挂靠在一些知名网站的友情链接中

  2.聚焦爬虫:聚焦爬虫是根据指定的需求抓取网络上指定的数据。例如:获取豆瓣上电影的名称和影评,而不是获取整张页面中所有的数据值。

  • robots.txt协议

  - 如果自己的门户网站中的指定页面中的数据不想让爬虫程序爬取到的话,那么则可以通过编写一个robots.txt的协议文件来约束爬虫程序的数据爬取。robots协议的编写格式可以观察淘宝网的robots(访问www.taobao.com/robots.txt即可)。但是需要注意的是,该协议只是相当于口头的协议,并没有使用相关技术进行强制管制,所以该协议是防君子不防小人。但是我们在学习爬虫阶段编写的爬虫程序可以先忽略robots协议。

  • 反爬虫

  - 门户网站通过相应的策略和技术手段,防止爬虫程序进行网站数据的爬取。

  • 反反爬虫

  - 爬虫程序通过相应的策略和技术手段,破解门户网站的爬虫手段,从而爬取到相应的数据。

原文地址:https://www.cnblogs.com/wjs521/p/10314898.html

时间: 2024-11-07 20:35:42

python爬虫相关基础概念的相关文章

03,Python网络爬虫第一弹《Python网络爬虫相关基础概念》

引入 为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为我们以后发展带来的好处都是显而易见的,无论是从实际的应用还是从就业上. 我们都知道,当前我们所处的时代是大数据的时代,在大数据时代,要进行数据分析,首先要有数据源,而学习爬虫,可以让我们获取更多的数据源,并且这些数据源可以按我们的目的进行采集. 优酷推出的火星情报局就是基于网络爬虫和数据分析制作完成的.其中每期的节目话题都是从相关热门的互动平台中进行相关数据的爬取,然后对爬取到的数据进行数据分析而得来的.另一

python爬虫之基础学习(一)

python爬虫之基础学习(一) 网络爬虫 网络爬虫也叫网络蜘蛛.网络机器人.如今属于数据的时代,信息采集变得尤为重要,可以想象单单依靠人力去采集,是一件无比艰辛和困难的事情.网络爬虫的产生就是代替人力在互联网中自动进行信息采集和整理. 网络爬虫的组成 网络爬虫由控制节点.爬虫节点以及资源库构成,简单而言就是控制节点控制爬虫节点爬取和处理网页存储到资源库中.网络爬虫中有多个控制节点和爬虫节点,一个控制节点控制着多个爬虫节点,同一个控制节点下的多个爬虫节点可以相互通信,多个控制节点也可以相互通信.

linux设备驱动归纳总结(一)内核的相关基础概念【转】

本文转载自:http://blog.chinaunix.net/uid-25014876-id-59413.html linux设备驱动归纳总结(一):内核的相关基础概念 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 一.linux设备驱动的作用 内核:用于管理软硬件资源,并提供运行环境.如分配4G虚拟空间等. linux设备驱动:是连接硬件和内核之间的桥梁. linu

线性表的相关基础概念

一个线性表是由n个数据元素构成的有限序列,其特点是数据元素之间存在着线性关系.在计算机中表示这种关系的两种不同存储结构是顺序存储结构和链式存储结构. 1.顺序表 顺序表是在内存中用一组地址连续的存储单元依次存储线性表的数据元素,借助数组来实现.顺序表中数据元素的逻辑关系通过其"存储位置相邻"来表示. 对于顺序表,主要有初始化.建立.销毁.插入.删除.按值查找.等基本操作.插入和删除操作约需移动一半的元素,时间复杂度为O(n). 2.链表 除了常用的单链表外,还有循环链表.双向链表.双向

Python笔记一 基础概念与基础认识

简介 python的创始人为吉多·范罗苏姆. 在10月份TIOBE排行榜上,python为第五,占有率为3.775%. python是一门动态解释型的强类型定义语言. 执行.py的时候是由python解释器,逐行编译→解释,在运行. PyCodeObject 是编译结果,运行完成后,保存到pyc中,以便下次直接运行pyc文件 动态类型 是指运行期间才去做数据类型检查的语言. 强类型定义语言 是指一旦一个变量被指定了某个数据类型,不经过强制转换,永远都是这个类型. 优点: 优雅.明确.简单. 开发

python 爬虫相关含Scrapy框架

1.从酷狗网站爬取 新歌首发的新歌名字.播放时长.链接等 from bs4 import BeautifulSoup as BS import requests import re import json class StockCrawler(): def __init__(self): pass def get_stockinfo(self,url): res=requests.get(url) res.encoding='utf-8' soup=BS(res.text,'html.parse

java web 相关基础概念的汇总

省去一些废话,反正是记录自学过程的,便于自己理清思路,自知自己资质欠佳,若有不对的地方还请不吝赐教. Java:是一种可以撰写跨平台应用软件的面向对象的程序设计语言.是由Sun公司1995年5月推出的Java程序设计语言和Java平台(SE/EE/ME). Java语言的特性:1.简单性. 2.面向对象:面向对象编程(Object Oriented Programming,OOP,即面向对象程序设计)是一种计算机编程架构.基本原则是计算机程序由单个能够起到子程序作用的单元或对象组合而成.为了实现

python 爬虫urllib基础示例

环境使用python3.5.2  urllib3-1.22 下载安装 wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz tar -zxf Python-3.5.2.tgz cd Python-3.5.2/ ./configure --prefix=/usr/local/python make && make install mv /usr/bin/python /usr/bin/python275 ln -s /us

python爬虫---mongodb基础

一,mongodb简介 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引.