microyou 发表于:2020-11-10 07:50:06
如何想把网站内容抓取下来保存到数据库,以便查询管理。只要用到木头浏览器这样的通用抓取采集软件,比如新闻内容抓取、商品库存价格抓取、订单详情抓取等。
由于篇幅限制,本文只介绍打开网页后的抓取步骤。
1、先看一下准备抓取的网页,如下图,需要抓取新闻标题、来源和正文内容,并将内容直接保存到数据库中。如下图所示,打开自动控制菜单,点击项目管理器。
2、在项目管理器中,已经新建了一个默认项目,在此基础上点击鼠标右键,弹出新建步骤的菜单,根据本项目的要求,需要创建一个抓取内容步骤和一个执行Sql语句步骤。
3、首先创建抓取内容步骤,点击添加按钮,在弹出的获取动态元素对话框中,点击自动获取按钮,使用浏览器时入元素抓取模式。
4、当浏览器进入元素抓取模式时,鼠标右键在网页上移动时,会出现一个红框跟随显示当前选择的元素。把鼠标右键移到新闻标题处,点击右键,并在弹出的菜单中选择获取元素,此时在浏览器右侧关于该元素的参数就确定下来了。默认使用通过元素属性获取方式,此处因为H1元素没有属性,软件默认使用文件内容text来做为元素的唯一标识。
5、通过元素属性来获取标题显然存在一个问题,如果打开的另一条新闻,标题不同就无法找到标题元素了。所以改用通过元素下标获取元素,如下图所示,表示在页面中找第2个H1元素。修改完成后点击右侧的确定按钮,结束获取元素状态,返回项目管理器。
6、获取到标题元素后,设置抓取该元素的文本内容Text值。
7、以同样的方式,添加抓取来源和正文内容。完成设置后,可以点击单步测试按钮,然后右键点击抓取元素,查看抓取内容,测试抓取效果,
8、创建一个执行Sql的步骤,设置连接数据库类型为Sqlite,并对照下图右侧的表结构,写出插入数据的Sql语句。其中变量通过点击右键的方式添加。
9、新建一个定时控制步骤,每秒执行一次,执行20次后停止。因篇幅原因,只测试在同一页面采集20次,如果需要采集不同的新闻页面,只需要想办法更换页面就可以了,比如批量添加网址、按顺序点击新闻、监控网页更新后采集等方法。
10、在项目管理器中,选择项目根节点,点击开始按钮测试,执行完成后,可以查看数据库已接入20条记录。
我很想学习,能上传一下源代么?
总记录:1篇 页次:1/1 9 1 :