首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery、ajax和php web刮刀的作用很奇怪。

jQuery、ajax和php web刮刀的作用很奇怪。
EN

Stack Overflow用户
提问于 2015-01-04 19:46:25
回答 1查看 234关注 0票数 1

我试图刮一个网页,但在我的浏览器控制台中得到了一些奇怪的结果(如下面所示)。这是我的密码:

index.html

代码语言:javascript
复制
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Icefilms Searcher</title>
    <script type="text/javascript" src="jquery-2.0.3.min.js"></script>
</head>

<body>
    <script type="text/javascript" src="script.js"></script>
    <div id="container" style="width:1100px;position:relative;"></div>
</body>
</html>

script.js

代码语言:javascript
复制
$(document).ready(function(){

var currNum = 168000;
var maxNum =  168005;

function generateNextUrl(){
    currNum++;
    return currNum-1;
}

scrapeThis(generateNextUrl());

function scrapeThis(theUrl){
    $.ajax({
        url:
            "php.php",
        data:
            "icefilmsURL=" + theUrl,
        success:
            function(response){
                var movieTitle = $(response).find("#videotitle").find("span:first").text();
                $("#container").append("<a href='http://www.icefilms.info/ip.php?v="+theUrl+"' target='blank'>"+movieTitle+"</a><br>");
            },
        complete:
            function(){
                if(currNum < maxNum+1){
                    scrapeThis(generateNextUrl());
                }
            },
        error:
            function(xhr,err){
                $("#container").append("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
                $("#container").append("responseText: "+xhr.responseText);
            }
    });
};
});

php.php

代码语言:javascript
复制
<?php
    echo file_get_contents("http://www.icefilms.info/ip.php?v=".$_GET["icefilmsURL"]);
?>

代码运行良好,但这是我在控制台中看到的:

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-01-04 19:55:10

您在控制台中看到了这些内容,因为您正在抓取的页面包含对相关路径的引用。

也就是说,与其说

代码语言:javascript
复制
<img src="http://www.icefilms.info/someimage.jpg">

代码是

代码语言:javascript
复制
<img src="someimage.jpg">

因此,当您在自己的域中抓取并显示他们的HTML时,浏览器试图从您的域加载图像,在本例中为localhost。但是您没有服务器上的映像。

您可以使用HTML中的基本href来解决此问题,也可以查找和替换相对路径图像以包含域。

代码语言:javascript
复制
<base href="http://www.icefilms.info/">
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27769617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档