1
ZOwl 2015-03-12 00:14:18 +08:00
抓取父节点,再遍历不行吗
|
2
ljcarsenal 2015-03-12 00:15:57 +08:00
BeautifulSoup
pyquery |
3
ericls 2015-03-12 00:20:50 +08:00 via Android
简单粗暴的办法
每探测到一个图片 就保存 并且在tree中替换为本地地址 再获取文字内容… 遍历nth-of-type也是可以的 但是用数据库去维护图片和文章的关系就没必要了 |
4
gkiwi 2015-03-12 00:40:13 +08:00
如果网站不太大,而且是静态网站的话,参考这个:
============================================= wget -c -r -np -k -p http://vuejs.org/api/ 其中 -c:继续下载已下载了一部份的档案 -r:表示循环下载 -np:不进入上层的目录(也就不会下载其他网站的js等等) -k:将下载后的 HTML 的链结转换為本地档案(so smart) -p:下载所有显示网页所需的档案,例如图片等 另外几个常用的参数: -A jpg,png,gif 如此仅仅下载后缀为jpg,png,gif的文件 -I /static,/content 只下载/static,/content路径下的文件 -e robots=off 因为有时候robot有disallow规则,让你不能爬某些文件夹/文件,显然你可以忽略它! 再举个栗子: wget -A png,jpg,gif,jpeg -I /static -e robots=off -c -r -np -k -p http://www.gzxzwk.cn/ =============================================END 当然具体还得看需求啦~~ 我经常用它来扒拉文档做离线用~~ |
5
zhkzyth OP @ZOwl 也想过这样做,先把要抓取的html整个解析成一个树,再用深度优先,遍历这棵树,遇到不同类型的节点,就做不同的处理,这样确实能保证顺序。但是不知道具体如何下手.=。=
@ljcarsenal pyquery没用过,我去了解下.... @ericls 是个好方法,哈哈~~ @gkiwi 原来wget也可以这么强大,不过还是选择用scrapy来写,以后扩展也方便点~~ |