Python学习笔记(10)用 络爬虫软件自动下载 页上的文件

举个例子,我们打算把这个法规/标准 站上的pdf格式的法规文件下载下来:

如果人工下载这些文件的话,需要在这个 页上逐个点击那些文件图标,即可激发下载过程。

下面将详细讲解定义规则和抓取过程。

1. 定义抓取规则

定义抓取规则的方法参看基础教程中的相应章节,请注意,这种标注是一种快捷的规则定义方法,但是并没有精确地定位HTML DOM节点,比如,在英文附件那个图标上做内容标注,会自动定位到DOM的IMG节点。为了下载pdf文件,定位到这个IMG节点是不精确的,这种内容标注主要用于采集文本内容。
为了精确地把pdf文件的url 址抓取下来,应该精确地做内容映射,如下图:

这些设置完成以后,点击存规则,然后再点击爬数据,就能弹出一个DS打数机窗口,可以观察到 页被加载上来,采集完成后变成了白屏。

3. 查看下载的文件

如下图,本案例用的主题名是test_download_file_fuller,结果文件都放在DataScraperWorks文件夹中,test_download_file_fuller是一个子文件夹,用于存储XML格式的结果文件,还可以看到一个并列的子文件夹PageFileDir,用于存储所有的下载文件

“英文附件链接”是用户定义的抓取内容,而“英文附件链接_file”是自动生成的抓取内容,文件在硬盘上存储在哪里,就用这个字段进行说明。

下载文件不分主题存放有个好处:如果要写一个文件处理程序,那么这个处理成就不需要逐个进入每个主题名文件夹去查看有没有新下载的文件。

相反,如果下载的文件按主题名分开存放的,处理程序要逐个检查主题名文件夹,但是有个好处:文件系统看起来比较有结构。

下面讲解怎样设置成按主题名分开存放。

4. 分主题存放

5. 总结

不光文件下载,还有图片和视频下载的过程都是一致的,结果存储结构也是一致的,本教程的方法可以推及到图片和视频的下载

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年7月7日
下一篇 2019年7月7日

相关推荐