抓取jsp网页源代码(用WebScraper(一个Chrome插件)爬取网页内容的教程)
优采云 发布时间: 2021-09-23 14:30抓取jsp网页源代码(用WebScraper(一个Chrome插件)爬取网页内容的教程)
在Internet上有许多使用Python爬行web内容的教程,但通常需要编写代码。如果没有相应基础的人想在短时间内开始,仍然有一个门槛。事实上,在大多数情况下,您可以使用WebScraper(一个chrome插件)快速爬升到目标内容。重要的是,您不需要下载东西或代码知识
在开始之前,有必要简要了解几个问题
a。什么是爬行动物
自动捕获目标网站内容的工具
b。爬行动物有什么用
提高数据采集的效率。任何人都不应该希望自己的手指继续复制和粘贴。机械的东西应该交给工具。Fast采集数据也是数据分析的基础
c。爬行动物的原理是什么
要理解这一点,我们需要理解为什么人类可以浏览网络。我们通过输入网址、关键字、单击链接等方式将请求发送到目标计算机,然后在本地下载目标计算机的代码,然后将其解析/呈现到我们看到的页面中。这就是上网的过程
爬虫所做的是模拟这个过程,但它的移动速度比人类快,可以自定义要捕获的内容,然后将其存储在数据库中以供浏览或下载。搜索引擎的工作原理类似
但是爬虫只是一种工具。为了让工具工作,我们必须让爬虫理解你想要什么。这就是我们必须做的。毕竟,人类的脑电波不能直接流入计算机。也可以说,爬行动物的本质是寻找规则
Lauren Mancke在Unsplash拍摄的照片
以豆瓣电影top250为例(很多人都在练习,因为豆瓣的网页是规则的),看看爬网刮板有多容易,以及如何使用它
1、在chrome应用商店中搜索网页刮板,然后单击“添加扩展程序”。此时,您可以在chrome插件栏中看到蛛网图标
(如果日常浏览器不是chrome,强烈建议更改。chrome和其他浏览器的区别就像谷歌和其他搜索引擎的区别一样)
2、打开网页进行攀爬。例如,豆瓣top250的URL为/top250,然后按住option+Command+I进入开发者模式(如果使用windows,则按住Ctrl+Shift+I,不同浏览器的默认快捷键可能不同)。此时,您可以在网页上看到这样一个对话框。不要建议。这只是当前网页的HTML,一种超文本标记语言,创造了网络世界的实体
只要按照步骤1添加了刮纸器扩展程序,您就可以在箭头指示的位置看到刮纸器。点击它进入下图中的爬虫页面
3、单击创建新站点地图,然后依次创建站点地图以创建爬虫。填写站点地图名称只是为了自我识别。例如,在起始URL中填写dbtop250(不要写汉字、空格和大写字母),我们通常会复制粘贴要爬网的网页的URL,但为了让爬网者了解我们的意图,我们最好先观察网页布局和URL。例如,top250采用分页模式,250部电影分10页发行,每页25部
第一页的URL是/top250
第二页以/top250开头?开始=25&;滤器=
第三页是/top250?开始=50&;滤器=
只有一个数字略有不同。我们的目的是抓取top250的电影数据,所以我们不能简单地将/top250粘贴到开始URL中,但是/top250?开始=[0-250:25]&;滤器=
请注意开始后[]中的内容,它表示每25页一个网页,并爬网10个网页
最后,单击创建站点地图,将构建爬虫程序
(您也可以通过在URL中填写/top250进行爬网,但这不能让web scraper理解我们想要爬网top250所有页面的数据,它只会爬网第一页的内容。)
4、重点是爬虫建成后的工作。为了让web scraper理解其意图,必须创建一个选择器,然后单击“添加新选择器”
然后,您将进入选择器编辑页面,这实际上是一个简单的点。其原理是,几乎所有使用HTML编辑的网页都由看起来相同或相似的框(或容器)组成,每个容器中的布局和标签都是相似的。页面越规则,它就越统一,这可以从HTML代码中看出
因此,如果我们设置了选择元素和顺序,爬虫可以根据设置自动模拟选择,并且可以整齐地向下爬数据。当我们想要攀爬各种元素时(例如攀爬豆瓣top250想要同时攀爬排名、电影名称、得分和一句话电影评论),我们可以先选择容器,然后依次选择容器中的元素
如图所示,依次
5、step4只创建容器的选择器。Web scraper仍然不知道爬行什么。我们需要在容器中进一步选择所需的数据(电影排名、电影名称、分数、一句话电影评论)
完成步骤4保存选择后,您将看到爬虫程序的根目录,并单击创建的容器列
查看根目录,后跟容器,然后单击添加新选择器以创建子选择器
再次进入seletor编辑页面,如下图所示。这次的不同之处在于,我们填写了要在ID中捕获的元素的定义,并随意地编写它。例如,抓取排名第一的电影并写一个数字;因为排名是文本类型,所以在类型中选择文本;这次只选择了容器中的一个元素,因此不会选中“多个”。此外,选择排名不要选择错误的位置,因为你可以爬任何你选择的爬虫。然后单击执行选择并保存选择器
此时,爬虫程序已经知道对top250网页中所有容器的电影排名进行爬网。然后,以同样的方式,创建另外三个子选择器(注意它们在容器目录中),分别对电影名称、乐谱和一句话电影评论进行爬网
创建之后,所有选择器都已创建,爬虫程序已完全理解其意图
6、下一步就是让爬虫运行。依次单击站点地图dbtop250和scratch
此时,web scraper将允许您填写请求间隔和延迟时间,并保留默认值2000(单位为毫秒,即2秒),除非网络速度特别快或慢,然后单击开始sraping
在这里,将弹出一个新的自动滚动网页,这是我们在创建爬虫程序时输入的URL。大约一分钟后,爬虫将完成工作,弹出窗口将自动消失(自动消失表示爬虫已完成)
同样的情况也适用于网页刮板
7、点击刷新预览爬虫成就:豆瓣电影top250排名、电影名称、得分和一句话电影评论。看看有没有什么问题。(例如,如果有空值,则表示对应的选择器选择不好。通常,页面越规则,空值越少。如果遇到不规则HTML的网页,例如知乎,空值越多,则可以返回选择器进行调整。)
在这个时候,可以说已经完成了。只需单击sitemap dbtop250并将日期导出为CSV,即可下载CSV格式的数据表,并根据需要使用它
值得一提的是,浏览器捕获的内容通常保存在本地后台数据库中。此数据库只有一个功能,不支持自动排序。因此,如果不安装和设置其他数据库,数据表将出现故障。在这种情况下,一种解决方案是将它们导入GoogleSheet并清理它们,另一种一劳永逸的方法是安装额外的数据库,例如CouchDB,并在对数据进行爬网之前将数据存储路径更改为CouchDB。此时,对数据进行爬网、预览和下载是按顺序进行的,如上面的预览图像
整个过程似乎很麻烦。事实上,在熟悉它之后,它是非常简单的。从开始到结束的两到三分钟内,这些少量数据就可以正常工作。此外,就像这些少量的数据一样,爬虫也没有充分反映出它的目的。数据量越大,爬虫的优势越明显
例如,您可以同时抓取知乎各种主题的选定内容,20000条数据只需要几十分钟
自拍
如果你看到这里,你会觉得很难遵循上面的步骤。有一个更简单的方法:
通过导入站点地图,复制粘贴以下爬虫代码,导入,就可以直接开始爬虫豆瓣top250的内容。(由上述系列配置生成)
{“\u id”:“豆瓣电影”\u top\u 250“,“startUrl”:[“/top250?start=0&;filter=“”],“选择器”:[{”id:“next\u page”,“type:“SelectorLink”,“parentSelectors”:[“\u root”,“next\u page”],“selector:”.next a”,“multiple”:true,“delay”:0},{“id:“container”,“type:“SelectorElement”,“parentSelectors:”,“parentSelectors:“[“next\u root”,“next\u page”,“selector:“grid:”grid\u view li”,“multiple”;“true”,“delay”;“delay”:0},{“id”:“title”,“type”:“SelectorText”,“parentSelectors”:[“container”],“selector”:“span.title:n类型(1)),“multiple”:false,“regex”:“delay”:0},{“id”