1. 什么是爬虫?

lazy.png

首先应该弄明白一件事,就是什么是爬虫,为什么要爬虫,博主百度了一下,是这样解释的:

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

其实,说白了就是爬虫可以模拟浏览器的行为做你想做的事,订制化自己搜索和下载的内容,并实现自动化的操作。比如浏览器可以下载小说,但是有时候并不能批量下载,那么爬虫的功能就有用武之地了。

实现爬虫技术的编程环境有很多种,Java,Python,C++等都可以用来爬虫。但是博主选择了Python,相信很多人也一样选择Python,因为Python确实很适合做爬虫,丰富的第三方库十分强大,简单几行代码便可实现你想要的功能,更重要的,Python也是数据挖掘和分析的好能手。这样爬取数据和分析数据一条龙的服务都用Python真的感觉很棒啊!

2. 爬虫学习路线

知道了什么是爬虫,给大家说说博主总结出的学习爬虫的基本路线吧,只供大家参考,因为每个人都有适合自己的方法,在这里只是提供一些思路。

学习Python爬虫的大致步骤如下:

首先学会基本的Python语法知识

学习Python爬虫常用到的几个重要内置库urllib, http等,用于下载网页

学习正则表达式re、BeautifulSoup(bs4)、Xpath(lxml)等网页解析工具

开始一些简单的网站爬取(博主从百度开始的,哈哈),了解爬取数据过程

了解爬虫的一些反爬机制,header,robot,时间间隔,代理ip,隐含字段等

学习一些特殊网站的爬取,解决登录、Cookie、动态网页等问题

了解爬虫与数据库的结合,如何将爬取数据进行储存

学习应用Python的多线程、多进程进行爬取,提高爬虫效率

学习爬虫的框架,Scrapy、PySpider等

学习分布式爬虫(数据量庞大的需求)

以上便是一个整体的学习概况,好多内容博主也需要继续学习,关于提到的每个步骤的细节,博主会在后续内容中以实战的例子逐步与大家分享,当然中间也会穿插一些关于爬虫的好玩内容。

3. 从第一个爬虫开始

第一个爬虫代码的实现我想应该是从urllib开始吧,博主开始学习的时候就是使用urllib库敲了几行代码就实现了简单的爬数据功能,我想大多伙伴们也都是这么过来的。当时的感觉就是:哇,好厉害,短短几行竟然就可以搞定一个看似很复杂的任务,于是就在想这短短的几行代码到底是怎么实现的呢,如何进行更高级复杂的爬取呢?带着这个问题我也就开始了urllib库的学习。

首先不得不提一下爬取数据的过程,弄清楚这到底是怎样一个过程,学习urllib的时候会更方便理解。

爬虫的过程

其实,爬虫的过程和浏览器浏览网页的过程是一样的。道理大家应该都明白,就是当我们在键盘上输入网址点击搜索之后,通过网络首先会经过DNS服务器,分析网址的域名,找到了真正的服务器。然后我们通过HTTP协议对服务器发出GET或POST请求,若请求成功,我们就得到了我们想看到的网页,一般都是用HTML, CSS, JS等前端技术来构建的,若请求不成功,服务器会返回给我们请求失败的状态码,常见到的503,403等。

爬虫的过程亦是如此,通过对服务器发出请求得到HTML网页,然后对下载的网页进行解析,得到我们想要的内容。当然,这是一个爬虫过程的一个概况,其中还有很多细节的东西需要我们处理的,这些在后续会继续与大家分享。

SEO搜索引擎优化

搜索引擎优化也叫SEO,了解了web爬虫的工作方式于原理之后对SEO会有更好的认识,对于前端开发,需要注意的SEO有以下内容:

突出重要内容

合理的title、description和keywords

虽然现在搜索对这三项的权重慢慢减小,但还是希望能够合理的写好他们,只写有用的东西,不要在这里写小说,要表达重点。

title:只强调重点即可,重要关键词出现不要超过2次,而且要靠前,每个页面title要有所不同description:把网页内容高度概括到这里,长度要合理,不可过分堆砌关键词,每个页面description要有所不同,keywords:列举出几个重要关键词即可,也不可过分堆砌。

语义化书写HTML代码,符合W3C标准

对于搜索引擎来说,最直接面对的就是网页HTML代码,如果代码写的语义化,搜索引擎就会很容易的读懂该网页要表达的意思。

利用布局,把重要内容HTML代码放在最前

搜索引擎抓取HTML内容是从上到下,利用这一特点,可以让主要代码优先读取,让爬虫最先抓取

重要内容不要用JS输出

爬虫不会读取JS里的内容,所以重要内容必须放在HTML里

尽少使用iframe框架

搜索引擎不会抓取到iframe里的内容,重要内容不要放在框架中。

为图片加上alt属性

alt属性的作用是当图片无法显示时以文字作为代替显示出来,对于SEO来说,它可以令搜索引擎有机会索引你网站的图片。

需要强调的地方可以加上title属性

在进行SEO优化时,适合将alt属性设置为图片本来的含义,而将 ttitle属性为设置该属性的元素提供建议性的信息。

为图片加上长宽

图片大的会排在前面一点。

保留文字效果

如果需要兼顾用户体验和SEO效果,在必须用图片的地方,例如个性字体的标题,我们可以利用样式控制,让文本文字不会出现在浏览器上,但在网页代码中是有该标题的。

注意:不可使用display:none;的方法让文字隐藏,因为搜索引擎会过滤掉display:none;里边的内容,就不会被蜘蛛检索了。

提高网站速度

网站速度是搜索引擎排序的一个重要指标

对于指向外部网站的链接要使用rel=”nofollow”属性告诉爬虫不要去爬其他的页面

seo和python_python网络爬虫与SEO搜索引擎优化介绍相关推荐

  1. 浙江杭州SEO公司清法网络告诉你,搜索引擎优化对企业的意义

    相信对于很多企业来说,都听说过SEO,知道它是一种利用搜索引擎规则,提高网站在有关搜索引擎内自然排名的方式.不过,这其中许多人对它都是一知半解,根本不明白SEO对企业意义有哪些.今天,搜索公关专家清法 ...

  2. SEO现状:网络营销之SEO骗子多(转)

    从业网络营销以来一直定位于服务中小企业,而事实上在绝大多数中小企业老板眼里,他们要的不是一种策划而是一种结果.这种结果最多的就是网站在搜索引擎中的排名. 但如果有公司告訴你,他们非常了解百度.Goog ...

  3. 网络爬虫排除协议robots.txt介绍及写法详解.

    以上内容转载自:http://www.xgezhang.com/serach_engine_robots.html Robots协议的全称是"网络爬虫排除标准"(Robots Ex ...

  4. 豆瓣网络爬虫-java网络爬虫[验证码模拟登陆]详细介绍

    目录 抓包介绍 解决验证码的思路 验证码地址拼接 爬虫实战 爬虫架构 model main 解析htmlparse 数据库操作程序db 近期,有人将本人博客,复制下来,直接上传到百度文库等平台. 本文 ...

  5. 〖Python网络爬虫实战⑫〗- XPATH语法介绍

    订阅:新手可以订阅我的其他专栏.免费阶段订阅量1000+ python项目实战 Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏 ...

  6. 什么是搜索引擎优化,SEO网络营销必备技能。

    什么是搜索引擎优化,SEO网络营销必备技能. 微信如日中天,短视频声名鹊起,总有各种所谓的黑科技面世供人追逐,但追来追去的好像总是那波人,追了那么久还是一身三脚猫功夫,环境一变立马喝西北风. 渐渐地, ...

  7. SEO——搜索引擎优化

    SEO概念 SEO是什么?习惯利用搜索引擎的朋友就会自然地在百度(Baidu.com).谷歌(Google.cn).雅虎(Yahoo.com)上输入关键 字"SEO",习惯使用英文 ...

  8. SEO -- 搜索引擎优化

    文章目录 1.SEO简介 2.SEO基本介绍 3.SEO优化方法分类 4.SEO优化策略 5.SEO优化的优势 6.SEO优化的发展问题 7.SEO优化的意义 1.SEO简介 SEO(Search E ...

  9. 搜索引擎优化(SEO)-怎样提高你的网站在搜索引擎上的排名

    摘要:曾经有人写过200个跟搜索引擎排名有关的影响因素,但是搜索引擎的算法总是不断地在改变,又每个影响排名因素的权重比不同.所以,如果想要让你的网站在使用者进行Google或者百度搜索时就排名到第一页 ...

最新文章

  1. 2013-09-11 [美国M198榴弹炮(后期型)--迷彩版]
  2. EPnP:一种复杂度为O(N)的求解PnP问题的方法
  3. linux iptables详解
  4. 浏览器网页上的SSH终端webssh:pip install webssh
  5. android 介绍0
  6. Android项目开发实战—自定义左右菜单
  7. 解决android studio引用远程仓库下载慢(JCenter下载慢)
  8. Pytorch:函数的手动梯度计算方法
  9. 「镁客·请讲」小i机器人朱频频:会话AI将成为主流人机交流方式,积累和深度学习是关键...
  10. [转]自定义jsp标记库简介
  11. OpenStack 存储服务 Cinder介绍和控制节点部署 (十三)
  12. hdu 5441 Travel (2015长春网赛)
  13. Data truncation: Data too long for column 'xxx' at row 1
  14. 解决css样式中first-child和last-child不生效的问题
  15. Python对图像进行白色区域转化为黑色
  16. 使用Python玩转ROS2参数
  17. 我的前端知识体系构建(上)
  18. 苹果三代耳机_浅谈华强北最强Airpods Pro(苹果三代蓝牙耳机)到底怎么样?
  19. 文本摘要常用数据集和方法研究综述
  20. 多目标优化算法学习笔记(一)

热门文章

  1. Excel股票大盘分析工具
  2. Hashtable 渐渐被人们遗忘了,只有面试官还记得,感动
  3. 他把数学书当小说看,初中没毕业却敢自荐中科大数学研究生,现在天才都这么狂妄了吗?...
  4. 天音控股携手Opera拓展移动互联网业务
  5. 【转】实用且不花哨的js代码大全
  6. SAP ABAP修改字段描述(翻译及传输)
  7. YOLOv5+Deepsort行人检测跟踪计数之门店客流量统计
  8. android xutils json请求,Android中的xutils框架在访问服务器时如何携带json数据
  9. Caffe如何画出训练中的loss曲线图和accuracy曲线图
  10. Lucene使用经验小结