百度等其他搜寻引擎爬虫python入门爬取的网页原始码是?

在笔者爬取了上百个网站总结发现爬虫其实就2项工作:进行访问,或者可以点击浏览器右侧的设置按钮->选择界面左侧的搜索引擎->选择百度搜索引擎)。当然用别的浏览器,比如火狐浏览器等都是可以的,只要它按F12(有的电脑要同时按住左下角的Fn键)能弹出网页源代码即可。

以谷歌浏览器为例来演示下F12的强大作用,百度搜索“阿里巴巴”,然后按一下F12(有的电脑还得同时按住Fn),弹出如下页面,其中点击右侧设置按钮可以切换布局样式。

这个按住F12弹出来的东西叫做开发者工具,是进行数据挖掘的利器,对于爬虫来说,大多数情况下只需要会用下图的这两个按钮即可。

第一个按钮箭头形状按钮为选择按钮,第二个Elements按钮为元素按钮。

点击一下它,发现它会变成蓝色,然后把鼠标在页面上移动移动,会发现页面上的颜色机会发生改变。如下图所示,当移动鼠标的时候,会发现界面上的颜色会发生变化,并且Elements里的内容就会随之发生变化。

下面当选择按钮处于蓝色状态的时,点击一下第一个链接的标题,这时候选择按钮再次变成灰色,而Elements里的内容也将不再变动,此时便可以观察具体的网页源代码内容了,如下图所示,我们一般只关心里面的所需要的中文内容,如果没有看到中文文本,店家下图所示的三角箭头,即可展开内容,看到中文文本。

Elements元素按钮里面的内容可以理解为就是网站的源码,最后爬虫爬到的内容大致就是长这个样子的。下面就要接着完成一些“神奇”的操作。

在下图“1688”那个地方鼠标双击俩下,这两个字变成可编辑的格式。

将其改成“测试”,可以看到第一个的标题发生了改变,如下图所示:

还可以用同样的操作,修改页面上的其他信息,如股价等。

还可以用同样的操作,先选择选择按钮,点击下面的阿里股价:

用同样的方法可以在Elements里将这个数字改成所想改的数据,如下图所示:

通过F12启动开发者工具,我们可以对网页结构有一个初步的认识,并可以利用选择按钮和“Elements”元素按钮观察我们想获取的内容在源码中的文本格式以及所在位置。

补充知识点1:查看网页源码的另一个方式

除了F12,另一个获取网页源码的方式是在网页上右击选择“查看网页源代码”,就可以获取这个网址的源代码,这个基本就是Python爬取到的最终信息。用鼠标上下滚动,就能看到很多内容,同样初学者不需要关心那些英文或者网页框架,只需要知道想获取的中文在哪里即可。

这个方法比F12观察源码的方式更加真实,因为F12观察到的源码可能是被网页修饰过的,通过Python获取到内容可能和F12看到的不一致。通过该方法查看到的源码就是通过Python程序能够获取到的网页源代码。实战中常将两种方法联合使用:通过F12进行初步了解,然后右击查看网页源代码,看看所需内容到底在网页源代码的什么位置,其中可以通过Ctrl + F快捷键搜索所需要的内容。

此外,如果F12看到的内容和通过右击查看网页源代码看到的内容很不一样,这是因为网站做了动态渲染的处理(这是一种反爬处理),这时候就需要用到/'

其实最简单的办法,就是直接浏览器访问该网址,然后把链接复制下来就行

补充知识点3:网址构成及网址简化

有的时候我们在浏览器上看到的网址非常长,例如在百度上搜索“阿里巴巴”,在网页上显示的网址如下所示:

如果复制这样一长串的网址会让代码非常臃肿(虽然这样并不影响代码运行结果),那有没有办法简化网址呢?答案是有的,可以看到在网址中有一个问号“?”,问号后面跟了很多内容,这些内容通过“&”符合连接,这些通过“&”符号连接的内容叫作网址的参数,而网址中的很多参数都不是必须的,如何判断是否必须,可以将“&”及其连接的内容删掉,看看网页是否还可以访问,如果还可以访问,则说明该参数不是必须的,可以删去该参数以简化网址。

例如通过尝试,如下图所示,上面的网址就可以简化成如下内容:阿里巴巴(其实wd参数就是word参数的缩写)。

补充知识点4:如何解决“复制网址后中文变成了英文和数字”的问题

在上一补充知识点中,我们将网址进行了简化,但是当我们将网址从浏览器中Ctrl + C复制下来再粘贴时,发现网址变成了如下内容:,原来中文的阿里巴巴,变成了一堆字母数字加百分号的内容,这是怎么回事呢?这是因为浏览器是国外发明的,中文需要转换下才可以识别,这一堆英文和数字可以理解为浏览器的“翻译语言”。对于爬虫实战而言,无需对其研究太深,可以直接将其换成中文即可:阿里巴巴。

安装完成之后,先来试着运行如下代码看看:

如下图所示,发现通过Python模拟打开了一个浏览器,并自动访问了百度首页了。

若没做好chromedriver的环境变量配置,则需通过executable_path参数注明chromedriver的文件安装路径,如下所示(其中r用来取消文件路径中“\”可能存在的特殊含义):

如下图所示,同样在源代码里搜索上证指数,这次就可以搜索到内容了!

通过selenium库我们能获取大部分网站的源代码,在下一章节我们就来讲解如何解析获取到的源代码,从而提取我们所需要的内容。

认知世界的过程:看看想想,说说写写,走走看看
SEO流量解读正文一、SEO是什么?二、SEO中的参与方三、SEO中的利益关系1、百度搜索引擎1.1 Baiduspider1.2 收录1.3 倒排1.4 展现2、平台网站3、百度针对网站质量的算法四、网页(html)知识五、SEO的优化指南1、网站收录方面2、网站倒排方面3、网站展现方面4、科普页面返回码
在百度搜索中的样子:上面红框为SEM,下面绿框为SEO;

三方是利益联合体(各自的利益联系在一起);
三、SEO中的利益关系
目的:给用户推送高价值的网站 (推送好的网站+监管坏的网站),保证用户体验;
怎么判定这个网站质量(是否高价值)并能成功被用户发现,如下流程:

如何更好的让搜索引擎收录网站中的内容(收录);
如何在搜索引擎中获得良好的排名(排序);
如何让用户从众多的搜索结果中点击你的网站(展现);
定义:搜索引擎只是网站上一个普通的访客;
2、平台网站        目的:基于上节,平台网站要做的就是提升网站的质量,然后经历搜索引擎的爬虫分析,实现收录、倒排、展现、最后被用户搜索点击的价值;
影响网页质量的因素很多,比如内容质量、用户浏览体验、网站的访问性能等;其中,内容质量是可以把控的,建议完成页面内容,保证内容的真实、原创、充实,只要是用户需要的就会收到青睐;
3、百度针对网站质量的算法        百度综合用户对不同网页的实际感受,制定了一套评判网页质量的标准,基于这个标准,在百度搜索的收录、倒排、展现中进行调整,给高质量的网页更多的收录、展现机会,同时对一些影响用户体验、欺骗搜索引擎的恶劣低质网页进行打压;
基本的算法主要包括:绿萝算法、惊雷算法、蓝天算法、石榴算法、原创星火计划、冰桶算法、企鹅算法、飓风算法等(有需要深入了解同学可以自行查阅);
四、网页(html)知识        html定义:全称“超文本标记语言”,其中不止包括文本,还可以包含图片,链接,音乐,甚至程序等非文字元素。
有三个双标记符用于页面整体结构:

<html>,说明该文件是用超文本标记语言,它是文件的开头;

2、网站扁平的树型结构,结构层次三层最佳,页面结构避免过于繁琐;
3、创建具有简单、通俗的url,便于用户记忆和判断网页内容;
4、网站内容与标题相符,保证内容的真实、原创、充实;
建议:标题内容独一无二、主题鲜明、简明精炼、使用通俗语言表述、重要内容放在语句前面;
2、描述内容要与页面内容一致,描述真实,避免重复描述和关键词堆砌;
2、503返回码的含义是“Service Unavailable”,百度会认为该网页临时不可访问;
3、403返回码的含义是“Forbidden”, 百度会认为网页当前禁止访问;

我要回帖

更多关于 爬虫python入门 的文章

 

随机推荐