爬虫开坑之路(一)

什么是爬虫

  网络爬虫(web crawler),也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人(bots)。爬虫是通过网页的链接地址来寻找网页,从网站某一个页面开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到按照某种条件把互联网上所有的网页都抓取完为止的技术。

 

                      某爬虫的结构  

爬虫的工作原理

  简单来说就是从给定的入口进入然后按逻辑获取需要的信息资源。原理主要是通过http或者其他协议,发送请求到目标接口,然后解析返回的内容成结构化数据存储到本地。

URL(爬虫的开始)

  URL(A Uniform Resource Locator),即统一资源定位符,也就是我们说的网址,统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

  而爬虫就是根据预先设定的一个或若干初始种子URL开始,以此获得初始网页上的URL列表,在爬行过程中不断从URL队列中获一个的URL,进而访问并下载该页面。页面下载后页面解析器去掉页面上的HTML标记后得到页面内容,将摘要、URL等信息保存到Web数据库中,同时抽取当前页面上新的URL,保存到URL队列,直到满足所设定停止条件。

  URL 的格式由三部分组成:

     第一部分是协议(或称为服务方式)。(http)

    第二部分是存有该资源的主机IP地址(有时也包括端口号)。(www.example.com)

    第三部分是主机资源的具体地址,如目录和文件名等。(index.html)

  这样就是一个基本的URL:http://www.example.com/index.html

环境配置

  本鶸的爬虫开坑之路都是基于Ubuntu + Python3.6.5 + Pycharm的,在Linux下还是Jetbrains.的IDE比较好用。代码编辑器可以选择Sublime Text 3,VS code或者notepad++,这个就看自己的喜好了,下部分正式开坑...

  

原文地址:https://www.cnblogs.com/rivervan/p/9093557.html

时间: 2024-08-29 07:01:36

爬虫开坑之路(一)的相关文章

开坑,Unix环境高级编程,转行之路又得缓缓了

不要问我基础,我用了近6年的Linux系统,最早的版本可以追溯到Ubuntu 8.04,常用的命令 VIM基本上是没压力,遇到问题google 配置环境变量 网络环境也不在话下, C语法基本熟练,过去一年,我自学过 数据结构 算法 CSAPP等课程,开坑Unix环境编程压力不大, 开坑的原因主要是为了了解系统底层编程,更接系统实现的原理,预计时间2-3个月,Unix网络编程留明年开坑算了, 估计Spring MVC等web后端框架又得推一推了,说实话,目前我真的不急着去找工作,我缺乏实际的工程经

webpack踩坑之路 (2)——图片的路径与打包

webpack踩坑之路 (2)--图片的路径与打包 刚开始用webpack的同学很容易掉进图片打包这个坑里,比如打包出来的图片地址不对或者有的图片并不能打包进我们的目标文件夹里(bundle).下面我们就来分析下在webpack项目中图片的应用场景. 在实际生产中有以下几种图片的引用方式: 1. HTML文件中img标签的src属性引用或者内嵌样式引用 <img src="photo.jpg" /> <div style="background:url(ph

重新开坑:开始自学Android编程

开坑原因 从高考后开始的这轮对于计算机知识的学习,最早的热情就是来自于学习Android Development.我们几百块钱就能买到一个不错的廉价Android设备,WLAN.GPS.NFC.4G.Screen.Camera等硬件一应俱全,利用这些硬件实现一些有趣的功能,让生活更高效,是我学习Android Development的最初动力.当然,事情不是我想象的那么简单,没有Java基础(或者说没有任何Computer Science基础)的我被搞得晕头转向,只得抱起厚厚的Core Java

一名Android开发者的微信小程序填坑之路(2)

前言 上一篇是九月二十七日写的,而这一篇我动笔的时间是十月十日(特殊的日子),中间相隔十三天--当然是因为国庆节.说老实话,这十三天里面我都没有碰和小程序有关的东西--毕竟学习小程序的开发也只是起于兴趣,而平时的工作并不会涉及与其相关的东西--但是在这十三天里,我能明显的感受到小程序热正在逐渐的消退,或者说大家正在逐渐以一种较为平和的姿态接受它的存在,其实这是一件好事.期待公测的到来. 接下来我就直接进入正题了,另外,文末我想和大家分享一下我的国庆节. PS:这篇文章是接着上一篇文章 一名And

VPS 入坑之路

一.入坑动机: 以前一直的FQ服务也被请喝茶了,仅限企业客户使用.于是想到租用一个VPS,搭个梯子. 二.入坑之路: 1.购买 想起在G+看见有人推荐搬瓦工性价比很高,去了解了一下,最低配置19.99刀一年,折合人民币也就十块一个月的样子,果断入之. 2.SS 以前在虚拟机稍微接触过linux,比如ubuntu和fedora,然而都是在图形界面瞎搞.这次终于有机会在终端操作了.各种命令上手确实不容易,只会cd,ls...突然发现控制面板有一键搭建SS,后来又放弃了敲命令...有一天心血来潮,决定

开坑!JavaScript AMD模块的设计与实现

开个坑,慢慢学习总结JavaScript的AMD规范 先把自己写的一个简易实现放上来,然后慢慢从0开始讲解一下AMD,已经如何自己动手实现一个AMD /*AMD*/ var DOC = window.document; var head = DOC.head || DOC.getElementsByTagName('head')[0]; var basePath = getCurrentScript(DOC); basePath = basePath.substring(0, basePath.

梦游战纪开坑~业余

梦游战纪开坑,准备用em-x开发 客户端+服务端 2014.05.14 打造网络版的仿梦幻OL 写梦幻最难的是:1.素材整理 2.策划思路 招募素材整理人员~欢迎各类人员~ QQ群号是199084707 梦游战纪开坑~业余,布布扣,bubuko.com

多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例

前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面大致的了解了Thread的一些方法和属性下面对一些方法进行运用看看具体效果<下面可能还是会贴很多的源代码,其实我是拒绝的,我只想贴每个方法的代码,但是有时候看到一个方法里面有调用了方法,但是笔者有没有给出来,很蛋疼,有种爽到一半的感觉,所以我还是会把它贴出来,希望一次就能挖到底,不论有没有全懂,但至

CozyRSS开发记录0-RSS阅读器开坑

CozyRSS开发记录0-RSS阅读器开坑 1.RSS RSS,全名是Really Simple Syndication,简易信息聚合. 关于RSS相关的介绍,网上可以很容易的找到.RSS阅读器是我几乎每天都用到的一个工具类软件,他的优点是: A.没有广告,只关注内容: B.可以轻松快捷的关注到一批博客和新闻网站的更新. RSS本身涉及到的技术点: A.XML,RSS使用XML来编写,它是XML的子集: B.HTTP,RSS的内容源通常是使用HTTP协议来提供的. 2.CozyRSS的目标 初步