狸窝网页flash抓取器(狸窝网页flash抓取器需要扯一下数据结构和算法)
优采云 发布时间: 2022-02-23 00:00狸窝网页flash抓取器(狸窝网页flash抓取器需要扯一下数据结构和算法)
狸窝网页flash抓取器
一看到这个问题,我觉得需要扯一下数据结构和算法。“商品列表”是个整体,首先我们需要建立一个‘商品列表数据结构’,具体可以看看这个:商品数据结构应该要提供的数据列表就有序号、价格、id、商品名称、销量、评论、价格线等等。这里,如果是json(可以让算法爬虫、机器人爬去读取),则需要提供‘序号’的标签,如果是js的数据,则不需要(通常只提供js的变量,页面也有时会给出真实的序号)。
总之,商品列表这个数据结构不同于普通的文本数据结构,需要对其进行一个二进制数据传输(在flash或者ie里面生成目标网页的加载header),然后才能提供网页正在浏览时候的‘商品价格’,给网页发送ajax请求获取销量等等功能。总之,这个数据结构都是服务器端对于“索引”文件的对应存储,然后才能响应给浏览器端,提供商品列表数据。
除了通过索引文件定位到页面路径以外,像商品列表页一般都需要用关键字搜索(如list/newlist)、ajax加载数据等等。一个完整的商品列表是有多层目录结构的(page,canvas,phone,iphone,ipad,苹果/谷歌),但是这些关键字的搜索就不用通过浏览器的google对应了,需要通过服务器端来做。
索引文件则是两个服务器之间通过http通信获取的。(也可以通过self为中间格式的字符串来存储。)然后针对js这类真实商品数据,最好引入一个api来获取,方便一些。一般服务器端引入完后,在flash页面写上:javascript:alert('{}');而浏览器端可以借助apache或者nginx做反向代理访问这个服务。