python与seo应用_python网络爬虫与SEO搜索引擎优化介绍

news/2024/5/20 15:30:35/文章来源:https://blog.csdn.net/weixin_39522698/article/details/113500033

1. 什么是爬虫?

3569c6ee930d3185a28c6a6c469c9461.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”属性告诉爬虫不要去爬其他的页面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_822498.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP网站留言要加验证码,php – 需要一些帮助来添加一些验证码联系表单

嗨,我是PHP的新手,我想要一些帮助.我已经创建了一个联系表单,我想添加一些验证码.我已经创建了一些gif图像,其中包含添加了一些噪音的数字,并将no1命名为code_01.gif,no2等命名为code_02.gif等.我已经将其中的一些设置在我的表单上,静态地用于显示目的,如此:我想添加…

大型网站架构演变和知识体系

之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么…

网站安全解决方案

网站安全解决方案1.项目背景根据国家计算机网络应急技术处理协调中心(简称CNCERT/CC)2008年上半年的统计报告,中国大陆被篡改网站的数量相比往年处于明显上升趋势,共监测到中国大陆被篡改网站总数达到35113 个,同比增加…

借双慧眼识别钓鱼欺诈网站

借双慧眼识别钓鱼欺诈网站 钓鱼欺诈网站,又称仿冒网站。这些网站的内容主要是复制那些正常网站的内容,使得网民粗一看几乎和正常网站一模一样,区别仅限于浏览器的地址。 曾有新闻报道有骗子在北京街头做了个假ATM机,这ATM机和市民…

curl网站开发指南

作者: 阮一峰 日期: 2011年9月 4日 我一向以为,curl只是一个编程用的函数库。 最近才发现,这个命令本身,就是一个无比有用的网站开发工具,请看我整理的它的用法。 curl网站开发指南 阮一峰 整理 curl是一种…

如何修改MOSS网站名(主机标头)

修改MOSS网站名(主机标头) 编写人:顾劲松 一、问题现状描述 在MOSS中创建的网站时,如果不指定网站的标头,MOSS会使用主机名作为网站标头。例如,我们在服务器myhigerweb上安装部署的MOSS网站,从I…

推荐16个国外的源码下载网站

如今,网上有很多的源代码下载网站,分析和学习别人的代码也是提高自己编程能力的方法之一。今天本文向大家推荐16个国外的代码下载网站。 The Script Library PHP Junkyard Hotscripts Script Dungeon Gscripts CgiScript Perl scripts Java scripts Scri…

缩短网站域名的DNS解析时间

如上图所示,普通用户打开一个网页的时间主要由四部分组成:网站域名通过 DNS 服务器解析到IP地址的时间通过IP地址和服务器建立HTTP连接的时间服务器接受连接请求后进行计算的时间网页内容通过HTTP协议传输到用户的时间在上图中,DNS域名解析时…

40个精美的作品网站设计案例欣赏(下篇)

对于网页设计师来说,制作一个作品集可能是一件非常有挑战的事情。为了吸引注意力,作品集必须展示出你的能力,这有点像制作简历,要让人们看到你所擅长的,突出的部分。如果你正想设计个人作品网页,下面这些案…

mysql展示表中信息_MySQL中数据表操作详解 - 用SHOW/ DESCRIBE语句显示数据表的信息_数据库技术_Linux公社-Linux系统门户网站...

使用MySQL,目前你可以在三种基本数据库表格式间选择。当你创建一张表时,你可以告诉MySQL它应该对于表使用哪个表类型。MySQL将总是创建一个.frm文件保存表和列定义。视表类型而定,索引和数据将在其他文件中存储。你能用ALTER TABLE语句在不同…

“历史上的今天”web网站

今天我们来做一个网站,历史上的今天,相信大家都不陌生,我们可以百度搜一下,有很多这样的网站。 看了上面的截图,我们来实现自己的,此网站是以一种时间轴的方式来实现的。看一下效果图,为了更好的…

浅谈服务器或网站被植入病毒代码的原因

一般来说,服务器或者网站被植入病毒代码有以下三种原因: 1、虚拟主机网站代码有问题,存在安全漏洞造成的。 如果服务器上大部分用户的网站都正常,只有少量用户网站被黑,那么就很可能是少量用户网站被黑的网站代码有问题…

服务器升级中不能修改,windows电脑显示无法完成更新,正在撤销更改_网站服务器运行维护...

如何查看windows电脑日志_网站服务器运行维护查看windows电脑日志的方法是:1、首先,打开控制面板;2、然后,找到【管理工具】选项,点击进入;3、最后,点击【事件查看器】选项,选择【打…

我设计的网站的分布式架构

互联网的网站和大部分企业管理软件一样都是使用B/S架构模型,但是大型的公共网站B/S架构会更加复杂,对架构人员的要求更高,今天我想在自己博客里聊聊我设计的网站的B/S技术架构。 不管是B/S架构的企业管理系统还是网站技术架构可以抽象为如下简…

JavaWeb基于Jsp+Servlet的动物领养网站(原创毕业设计项目)

项目类型:JAVA WEB项目项目名称:JavaWeb基于JspServlet的动物领养网站用户类型:双角色(管理员爱心人士)设计模式:JspServlet开发工具:Eclipse 数据库:MysqlNavicat数据库表&#xff…

基于Nginx的负载均衡网站架构

操作环境:VMware Fusion 操作系统:Centos6 实验架构设计图及实现: 实验说明: Nginx服务器作为Web前端,当接收到用户的Web访问请求时,将请求转发 给内部真正的WEB服务器。 Nginx具有两个网卡,一…

【原创】Javaweb篮球俱乐部网站(Web网站毕业设计)

JavaWeb技术开发,后端采用JspServlet。前端使用的是Bootstrap的一个网站模板。通过3种角色使用,实现了包括了球员信息管理、球队信息管理、赛事信息发布、赛事订阅等多个不同的模块。 项目类型:JavaWeb源码 用户类型:3个角色(管理…

【原创】基于Web的学习资料共享网(JavaWeb学习资料网站)

项目介绍:通过2种角色使用,实现了包括了学习资料发布、学习资料下载、搜索学习资料、用户管理等多个不同的模块。Javaweb后端采用JspServlet。前端使用的是Layui的一个网站模板。 项目类型:JavaWeb源码 用户类型:2个角色(管理员用…

1.网站数据库交互sql注入

开学了学习时间少非常了,虽然是职高但不是计算机专业 sql注入打基础,之前都学习的sql注入原理,没有学习sql语句感觉有点迷糊,就直接拿别人的语句自己进行找网站漏洞,或者用sqlmp直接去扫,感觉很麻木不知道…

mysql如何导入网站数据_mysql怎么把数据导入进去

mysql把数据导入的方法&#xff1a;1、使用“mysql -u用户名 -p密码 < sql文件”语句导入数据&#xff1b;2、使用“source sql文件的路径”语句导入数据&#xff1b;3、使用mysqlimport导入数据。1、mysql 命令导入使用 mysql 命令导入语法格式为&#xff1a;mysql -u用户名…