今天尝试抓取汇率数据的时候发现找不到靠谱的API或者数据来源,最后选定了Google财经HK。它的汇率数据在 class=bid 的元素里,但是是数字中文混在一起的,通过截取前6位字符串可以分析出汇率。并且查询也可以直接通过URL进行参数输入,比较方便。
Archive | DEV
AF Tools V1.3 Private
V1.3更新内容
抓取AF美国官网数据
今天尝试抓取AF美国官网数据,在抓取的过程中发现,网站会自动根据访问IP地址跳转到HK官网,导致抓取的网站内容变成了香港官网数据,遂采用cURL使用代理进行抓取。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
//初始化 $ch = curl_init(); //设置选项,包括URL curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //curl_setopt($ch, CURLOPT_REFERER, $refer); curl_setopt($ch, CURLOPT_HEADER, 0); //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查 //curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在 curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC); //代理认证模式 curl_setopt($ch, CURLOPT_PROXY, "127.0.0.1"); //代理服务器地址 curl_setopt($ch, CURLOPT_PROXYPORT, 8088); //代理服务器端口 //curl_setopt($ch, CURLOPT_PROXYUSERPWD, ":"); //http代理认证帐号,username:password的格式 curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); //使用http代理模式 curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"); //执行并获取HTML文档内容 $output = curl_exec($ch); //释放curl句柄 curl_close($ch); |
然后将cURL获得的结果 $output 代入PHP Simple HTML DOM Parser进行分析
1 2 |
//进行解析 $html = str_get_html($output); |
这里需要用到 str_get_html ( string $content ) 代替原来的 file_get_html ( string $filename )
AF Tools V1.2 Update Still Private
2014.4.20-V1.2-Update
- 添加 关键词、价格区间、显示数量搜索选项
- 添加 程序运行时输出显示
Screenshots
保存程序处理状态
因为淘宝对抓取次数由限制,故在抓取的过程中要被打断多次,每次都需要手动更改循环初始参数非常麻烦,所以试着保存程序最后处理状态,在下次运行程序时可以直接读取最后的处理状态。