网页数据抓取怎么写(Python开发的一个快速、高层次框架会自动该类的方法)

优采云 发布时间: 2022-01-02 06:21

  网页数据抓取怎么写(Python开发的一个快速、高层次框架会自动该类的方法)

  我记得十多年前,当我还是个高中生时,所谓的智能手机根本不流行。如果你想在学校阅读大量的电子书,你基本上依靠具有阅读功能的MP3或MP4。 以及电子书的来源?当你随时随地都无法上网时,有时候的窍门就是靠一个笨办法:将一些小说的内容网站一页一页地粘贴复制。而那些动辄上百章的网络小说,靠这样的手工操作,着实让人很是麻烦。那时,我多么希望有一个工具可以帮我自动完成这些费力的手工任务! ! !

  

  好吧,让我们回到正题。最近在研究爬虫框架Scrapy的使用方法。先说说学习Scrapy的初衷。

  Scrapy 是一个由 Python 开发的快速、高级的屏幕抓取和网页抓取框架,用于抓取网站和从页面中提取结构化数据。 Scrapy 用途广泛,可用于数据挖掘、监控和自动化测试(百度百科介绍)。

  经过几天的学习,首先需要了解以下Scrapy的初步使用概念:

  那么,你要做的就是把上面提到的四个类都写好,剩下的交给Scrapy框架就行了。

  您可以先创建一个scrapy项目:

  scrapy startproject getMyFavoritePages

  

  spiderForShortPageMsg.py 文件收录我们将要编写的 Spiders 子类。

  示例:现在我想获取网站中文章的所有title和文章的地址。

  第一步:写一个继承自Spiders的类

  

  Scrapy框架会自动调用这个类的方法parse(),其中parse()最后调用自定义方法parse_lobste_com()解析具体的html页面,从中找到我想要的数据,然后保存在一个Items的数据类型对象之中。

  不要被下面这行代码吓到:

  response.xpath("//div/div[2]/span[1]/a[@class='u-url']"

  就是前面提到的选择器。这是用于定位您要查找的 html 标记的方法。选择器有两种,XPath 选择器和 CSS 选择器,上面都用到了这两种。

  这是我的 Item 数据类型(上面的 pageItem)。

  

  第 2 步:在 Item Pipeline 中定义要对数据类型 Item 执行的所有操作。

  您想要的数据现在在 Item 对象中。考虑到您的最终目标,最好的选择当然是将所有数据保存在数据库中。

  说到数据库操作,不得不提Django中的models类。只需简单的几个设置,就可以直接调用Django中的models类,省去繁琐的数据库操作。心。谁知道谁用! !

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线