利用python爬取简单网页数据步骤,python怎么爬取网站上的数据

  利用python爬取简单网页数据步骤,python怎么爬取网站上的数据

  提取网页源代码——Requests Toolkit在我们能够提取网页信息之前,我们必须提取网页源代码。Requests Toolkit可以说是目前最易用、最流行的静态网络爬虫工具。它是由雷茨建造的,他是大神的一个谦逊的旅行者。在请求的官方介绍中,请求所遵守的哲学思想如下。

  1.漂亮总比难看好。(()美丑不如))))))))))))))。

  2.显性比隐性好。((比隐瞒清楚))。

  3.简单比复杂好。((简单比复杂)))。

  4.COMPLEXISBETHERHANCOMPLETED。()没那么复杂)。

  5.可读性计数。(可读性很重要)

  请求工具包使用起来非常简单。使用的主要函数是requests.get(url),参数url是从中提取源代码的网页,requests.get文本将页面转换为字符串。

  提取信息——Xpath我们普通的网页一般都是XML文档格式。当我们想要提取里面的内容时,需要使用Xpath分解里面的表单,提取我们想要的内容。在理解Xpath之前,需要知道四个基本概念:节点、元素、属性和文本。请看一个例子:

  ?XML版本= 1.0 编码= iso-8859-1 ?在" "更多Python学习资料及源代码教程资料群1136201545,点击" " Bookstorebook Title Harry Potter/Title作者JK.Rowling/author 20000年的课本通常是我们要爬的。

  分享——爬豆瓣电影的信息获取下一个简单的实例分享。我想了解Douban.com上发布的电影《超时空同居》的导演和演员的信息。

  首先,我找到了电影的链接:

  右键查看网页源代码查看页面源代码(或insepect):

  接下来,输入网页的源代码。我们要收集的信息都在源代码里,只要输入关键词就能看到。例如,如果您在这里输入“雷佳音”,它将出现在我们想要查找的位置:

  接下来,我们需要分析TML的格式。比如找到所有的主角。

  可以看到主演名字对应的节点名都是A,属性都有rel="v: starling "的通用规则。这样,您可以很容易地在xpath语法中找到带有该元素的节点,并找到所有结果。

  同样,导演名对应的节点名是A,属性都是rel= v:directedBy 。我们也可以从这个位置找到相应的文字:

  具体代码如下。

  importrequestsfromlxmlimportetreeurl= https://movie.douban.com/subject/27133303/from=showing # Our URL get=requect将文本源页面转换为字符串,将selector=etree.html(get)源代码转换为xpath可以识别的tml格式。info={} # Dictionary是信息info[ movie ]=选择器。XPath (//)用于保存标题)电影标题信息[导演]=selector.xpath [/a [@ rel= v:导演]/text] #导演的名字信息[

  { 电影:同居时光(豆瓣),导演: (,苏伦),演员:),雷佳音,佟丽娅,激情环,于和伟,王正佳。" PCdlm实例以2——json格式共享豆瓣电影信息。首先,json是一种轻量级的数据交换格式,简洁清晰的层次结构使json成为一种理想的数据交换语言,既方便人们读写,也方便机器分析和生成。

  在爬行过程中,完整的json格式数据可以在以开发人员模式返回的网页中找到。在这种情况下,通过使用requests包中的json函数获得的原始文本可以转换成一种格式,便于提取内容。以豆瓣电影为例:

  这是你点击分类后看到的电影的信息。如果我们想获得关于这些电影的信息,我们可以右键单击进入检查员模式。

  打开开发者模式后,请记得刷新一次。否则,将不会显示先前接收的页面信息。然后选择右侧选项卡上的网络,然后单击XHR选项以显示返回的网页。双击。

  上图是打开后的json文件。因为我的电脑下载了json插件,所以它的形式更清晰。(使用Chrome浏览器的同学可以进入Chrome商店下载Juan Ramn JSON美颜Chrome插件。Json文件其实可以理解为大字典。有很多层的小字典和列表。找到Json页面后,我们可以很容易地提取信息,只需在请求中将它转换成Json格式。代码如下:

  importrequestsurl= https://movie.douban.com/j/new _搜索_主题?Sort=Trange=0,10 tags=start=0 get=requests . get(URL)。JSON) # JSON)函数获取更多Python学习资料和源代码教程资料for iinrange(len)get)3360 info[get[I][ title ]免费提供。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: