V1.3更新内容
V1.3更新内容
今天尝试抓取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 )
2014.4.20-V1.2-Update
Screenshots
因为淘宝对抓取次数由限制,故在抓取的过程中要被打断多次,每次都需要手动更改循环初始参数非常麻烦,所以试着保存程序最后处理状态,在下次运行程序时可以直接读取最后的处理状态。
今天尝试抓取淘宝店铺的信用等级,由于淘宝的信用等级是按照图片来进行显示的,所以需要根据显示的图片来转换到对应的信用等级。