Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

从网站采集数据保存到Access数据库

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条记录。

 

Top
一牧歌 发表于:2020-11-12 11:33:42
我很想学习,能上传一下源代么?

总记录:1篇  页次:1/1 9 1 :