Я новичок в программировании и очень мало знаю о http, но я написал код для очистки веб-сайта на Java и столкнулся с проблемой, что мой код сбрасывает «получить» http-звонки (на основе ввода URL-адреса) но я не знаю, как делать скребущие данные для «post» http-вызова.Как очистить сайт, http получить vs http сообщение?
После краткого обзора http, я считаю, мне нужно будет симулировать браузер, но не знаю, как это сделать на Java. The website Я пытался использовать.
Поскольку мне нужно очистить исходный код для всех страниц, URL-адрес не изменяется при нажатии каждой следующей кнопки. Я использовал firebug Firefox, чтобы посмотреть, что происходит, когда нажимается кнопка, но я не знаю всего, что я ищу.
Мой код, чтобы очистить данные по состоянию на сейчас:
public class Scraper {
private static String month = "11";
private static String day = "4";
private static String url = "http://cpdocket.cp.cuyahogacounty.us/SheriffSearch/results.aspx?q=searchType%3dSaleDate%26searchString%3d"+month+"%2f"+day+"%2f2013%26foreclosureType%3d%27NONT%27%2c+%27PAR%27%2c+%27COMM%27%2c+%27TXLN%27"; // the input website to be scraped
public static String sourcetext; //The source code that has been scraped
//scrapeWebsite runs the method to scrape the input URL and returns a string to be parsed.
public static void scrapeWebsite() throws IOException {
URL urlconnect = new URL(url); //creates the url from the variable
URLConnection connection = urlconnect.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(
connection.getInputStream(), "UTF-8"));
String inputLine;
StringBuilder sourcecode = new StringBuilder(); // creates a stringbuilder which contains the sourcecode
while ((inputLine = in.readLine()) != null)
sourcecode.append(inputLine);
in.close();
sourcetext = sourcecode.toString();
}
Что бы быть лучшим способом пойти о выскабливание все страницы для каждого «пост» называют?
Вам нужно будет очистить все элементы 'form', которые имеют значение атрибута' post' 'method'. Следите за всеми элементами 'input', упорядочивайте их и отправляйте запросы. –
_ «Я новичок в программировании и очень мало знаю об http» _ - вам нужно потратить неделю или две, чтобы читать по HTTP, HTML и современной архитектуре сайта. Скребковые веб-сайты обычно работают только со старыми сайтами, которые не используют Javascript для управления DOM во время презентации. Чтобы «очистить» современный сайт на основе JS, вам нужно будет эмулировать полнофункциональный браузер в вашем коде. Большинство элементов пользовательского интерфейса могут даже не существовать в потоке HTTP; они будут созданы Javascript в клиентском браузере после начальной загрузки. –
Джим, я пишу это, основываясь на предыдущем коде Ruby, который больше не работает, что эмулирует полнофункциональный браузер. Так что это можно сделать на Java? Если да, то есть набор классов, которые я мог бы прочитать для этого? – cmart