2012-04-14 2 views
0

Я хочу разработать платформу, на которой пользователи могут вводить URL-адрес, а затем мой веб-сайт откроет веб-страницу в iframe. Теперь пользователь может изменить свой сайт, просто щелкнув правой кнопкой мыши, и я предоставлю ему такие опции, как «удалить этот элемент», «скопировать этот элемент». Я почти до конца. Многие веб-сайты отлично открываются в iframe, но для нескольких веб-сайтов выявлены некоторые ошибки. Я не мог определить причину, поэтому прошу вас о помощи.Проблемы разработки веб-скребка

Я решил другие проблемы, такие как проблема XSS.
Ниже приведена процедура:
Используется JavaScript и отправляется запрос на мой Java-сервер, который устанавливает соединение с указанным пользователем URL-адресом и извлекает HTML-код, а затем использует Jsoup HTML-парсер для преобразования относительных URL-адресов в абсолютные URL-адреса а затем сохраните HTML на моем диске в Java. И затем я делаю сохраненный HTML в моем iframe.

Где-то не так?
Несколько сайтов работают отлично, но некоторые из них не являются.

Например: -
Когда я попытался открыть http://www.snapdeal.com он дал мне ошибку Uncaught TypeError: Cannot read property 'paddingTop' of undefined . Я не понимаю, почему это происходит.

Обновление Мне действительно интересно, как это реализовано? @http://www.proxywebsites.in/browse.php?u=Oi8vd3d3LnNuYXBkZWFsLmNvbQ%3D%3D&b=13&f=norefer

ответ

0

Вы можете попробовать еще один вещь. В своем прокси-скрипте вы сохраняете свою веб-страницу на своем диске, а затем загружаете ее в iframe. Я думаю, вместо загрузки страницы, сохраненной на диске в iframe, попытайтесь открыть эту страницу в браузере. Все те сайты, которые восстанавливают свою страницу для загрузки в iframe, теперь будут открыты без каких-либо ошибок. Попробуйте это Я думаю, что это работа

+0

Привет, Его работа для большинства сайтов сейчас. Но все же snapdeal.com бросает ту же ошибку, и ее фоновое изображение не загружается на мою страницу. – sachinjain024

1

2 вопросы, выбрать любую понравившуюся Вам:

  • сервер код на стороне прокси содержит ошибки
  • множество сайтов имеют либо явный код каркасно-брейк или, по крайней мере, ожидать, чтобы верхний фрейм уровня.
+0

Я отправил свой код на стороне сервера, и теперь, после того, как я предложил Лину, я не загружаю страницу в iframe, но открываю страницу в браузере, ее не работает на нескольких сайтах. Есть ли у вас какие-либо идеи о какой-либо другой возможной ошибке? – sachinjain024

0

Мой прокси-сервер на стороне код: -

DateFormat df = new SimpleDateFormat("ddMMyyyyHHmmss"); 
    String dirName = df.format(new Date()); 

    String dirPath = "C:/apache-tomcat-7.0.23/webapps/offlineWeb/" + dirName; 
    String serverName = "http://localhost:8080/offlineWeb/" + dirName; 

    boolean directoryCreated = new File(dirPath).mkdir(); 
    if (!directoryCreated) 
     log.error("Error in creating directory"); 

    String html = Jsoup.connect(url.toString()).get().html(); 
    doc = Jsoup.parse(html, url); 

    links = doc.select("link"); 
    scripts = doc.select("script");  
    images = doc.select("img"); 

for (Element element : links) { 
     String linkHref = element.attr("abs:href"); 
     if (linkHref != "") { 
      element.attr("href", linkHref); 
     } 
} 

for (Element element : scripts) { 
    String scriptSrc = element.attr("abs:src"); 
    if (scriptSrc != "") { 
     element.attr("src", scriptSrc); 
    } 
} 

for (Element element : images) { 
    String imgSrc = element.attr("abs:src"); 
     if (imgSrc != "") { 
      element.attr("src", imgSrc); 
      log.info(imgSrc); 
     } 
} 

И теперь я просто возвращение на путь, где я сохранил мой файл HTML Вот это мой код сервера

+1

Ваша большая часть кода кажется правильной. Возможно, некоторые из веб-сайтов не позволяют открывать свой сайт в iframe. Это единственная причина, по которой я могу думать о –

Смежные вопросы