1. 伍格电商首页
  2. python/
  3. python网络爬虫与SEO搜索引擎优化介绍

python网络爬虫与SEO搜索引擎优化介绍

1. 什么是爬虫?

python网络爬虫与SEO搜索引擎优化介绍

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

网络爬虫(又被称为网页蜘蛛,网络机器人,在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”属性告诉爬虫不要去爬其他的页面