查看网站的源码分享(查看网址源码)

各位老铁们好,相信很多人对查看网站的源码分享都不是特别的了解,因此呢,今天就来为大家分享下关于查看网站的源码分享以及查看网址源码的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

提取网页源代码——Requests工具包

在我们提取网络信息之前,我们必须将网页的源代码进行提取,Requests工具包现在可以说是最好用和最普及的静态网页爬虫工具,它是由大神KennethReitz所搭建的。在Requests的官方介绍里,Requests所遵守的哲学理念是:

1.Beautifulisbetterthanugly.(美胜过丑)

2.Explicitisbetterthanimplicit.(清晰胜过隐匿)

3.Simpleisbetterthancomplex.(简单胜过复杂)

4.Complexisbetterthancomplicated.(复杂胜过繁琐)

5.Readabilitycounts.(可读性很重要)

Requests工具包的使用非常简单,最主要使用的函数为requests.get(url),其中参数url就是我们想提取源代码的网页,再通过requests.get(url).text将页面转换为字符串,就可以供我们使用了。

信息提取——Xpath

我们普通的网页一般都是XML文档格式,当我们想提取里面的内容时,我们需要借助Xpath来分解其中的格式,提取我们想要的内容。在了解Xpath之前我们需要知道四个基本概念:节点、元素、属性、文本。我们来看一个例子:

<?xmlversion=”1.0″encoding=”ISO-8859-1″?>\n?\n\n?\n<bookstore>\n?\n\n?\n<book>\n?\n<title>HarryPotter</title>\n?\n<author>JK.Rowling</author>\n?\n<year>2005</year>\n?\n<price>29.99</price>\n?\n</book>\n?\n\n?\n</bookstore>\n?\n

这就是一个网页的源码,其中<bookstore>是文档节点,<author>JK.Rowling</author>是元素节点,lang=”en”是属性节点。JK.Rowling、2005和29.99是文本(文本通常就是我们想爬取的内容)。

实例分享——爬取豆瓣电影的信息

接下来我们做一个很简单的实例分享,我们想爬取在豆瓣网上的电影《超时空同居》的导演和演员信息。

首先我们找到电影的URL:

右键点击看网页的源代码viewpagesource(或者可以进入开发者模式(insepect)):

接下来我们就进入网页源代码了,我们想要搜集的信息就在源代码里,只用输入关键字就可以查看到,比如这里我们输入’雷佳音’就定位到了我们想要寻找的位置:

接下来我们就需要分析TML的格式了,例如我们要找到所有的主演:

大家可以看到有一个普遍的规律:主演的名字所对应的节点名都为a,属性都为rel=”v:starring”,这样我们就可以很轻易的用xpath的语法定位到拥有这个元素的节点,然后将所有的结果找出。

同理,导演的名字所对应的节点名为a,属性都为rel=”v:directedBy”,我们同样可以通过这个定位找到相应的文本:

具体的代码如下:

importrequests\n?\nfromlxmlimportetree\n?\n\n?\n\n?\nurl=’https://movie.douban.com/subject/27133303/?from=showing’get(url)得到我们的网页,text将源网页转化为字符串\n?\n\n?\n\n?\nselector=etree.HTML(get)字典用于储存信息\n?\ninfo[‘电影’]=selector.xpath(‘//title/text()’)[0].strip()定位导演名字\n?\ninfo[‘演员’]=selector.xpath(‘//a[@rel=”v:starring”]/text()’)用json()函数得到网页源码\n?\nget=get[‘data’]\n?\ninfo={}\n?\nforiinrange(len(get)):\n?\n\n?\ninfo[get[i][‘title’]]=[get[i][‘directors’],get[i][‘rate’]]#提取每部电影的导演和评分\n?\nprint(info)\n

好了,文章到这里就结束啦,如果本次分享的查看网站的源码分享和查看网址源码问题对您有所帮助,还望关注下本站哦!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平