我想使用curl 抓取此Google搜索结果页面的内容.我一直在尝试设置不同的用户代理,并设置其他选项,但我似乎无法获取该页面的内容,因为我经常被重定向或我得到"页面移动"错误.
我相信它与查询字符串在某处被编码的事实有关,但我真的不确定如何解决这个问题.
//$url is the same as the link above
$ch = curl_init();
$user_agent='Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0'
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch,CURLOPT_CONNECTTIMEOUT,120);
curl_setopt ($ch,CURLOPT_TIMEOUT,120);
curl_setopt ($ch,CURLOPT_MAXREDIRS,10);
curl_setopt ($ch,CURLOPT_COOKIEFILE,"cookie.txt");
curl_setopt ($ch,CURLOPT_COOKIEJAR,"cookie.txt");
echo curl_exec ($ch);
Run Code Online (Sandbox Code Playgroud)
我需要做些什么来让我的PHP代码显示页面的确切内容,就像我在浏览器上看到的那样?我错过了什么?有人能指出我正确的方向吗?
我在SO上看过类似的问题,但没有一个答案可以帮助我.
编辑:
我尝试使用Selenium WebDriver打开链接,它提供与cURL相同的结果.我仍然认为这与查询字符串中有特殊字符的事实有关,这些特征字符在进程中的某处被搞砸了.
尝试实现一个应用程序,在连接到Internet时将存储在本地数据库中的脱机数据发送到Web服务器.我使用下面显示的代码.到目前为止,我测试它工作正常,不确定它将适用于大量的记录.我想知道是否对此代码进行任何调整可能会提高性能???
注意
从app到服务器的单向同步.
-(void)FormatAnswersInJSON {
DMInternetReachability *checkInternet = [[DMInternetReachability alloc] init];
if ([checkInternet isInternetReachable]) {
if ([checkInternet isHostReachable:@"www.apple.com"]) {//Change to domain
responseArray = [[NSMutableArray alloc] init];
dispatch_async(backgroundQueue, ^(void) {
NSArray *auditIDArray = [[NSArray alloc] initWithArray: [self getUnuploadedIDs]];
for (int temp = 0; temp < [auditIDArray count]; temp ++) {
// Code to post JSON to server
NSURLResponse *response;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
if (!error) {
NSString *responseID = [[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
if ([responseID isEqualToString:@"ERROR"]) {
//Error uploading records …Run Code Online (Sandbox Code Playgroud)我想检索一个地理点上小范围内所有街道地址的列表.
使用的场景是用户从当前位置的地址列表(在50米内)中选择他/她的当前地址,因为位置检索不够准确.
我想知道是否可以使用Google Maps API?否则,是否有人知道我可以用于此目的的替代API?
从我所看到的情况来看,虽然Google地图反向地理编码服务为地理点返回了许多"地址",但它们通常只是地址的不同表示,而不是地址附近的地址.
我在SO上看过一些类似的问题,但没有人能找到我想要的答案.