0
私は最初にこれを編集してから、検索と場所を指定できるようにいくつかの変更を加えました。必要があれば私はそれを取ることができますが、私はむしろそうしたくありません。ここに私が持っているものがあります:Yelpエクストラクタでこのエラーをどのように回避できますか?
import java.util.ArrayList;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.util.Scanner;
public class YelpScrapper
{
public static void main(String[] args) throws IOException
{
String description;
String location;
int pages;
Scanner keyboard = new Scanner(System.in);
System.out.print("Enter a description: ");
description = keyboard.nextLine();
System.out.print("Enter a location: ");
location = keyboard.nextLine();
System.out.print("How many pages should we scan? ");
pages = keyboard.nextInt();
String descString = "find_desc=" + description.replace(' ', '+') + "&";
String locString = "find_loc=" + location.replace(' ', '+') + "&";
int number = (pages * 10) - 10;
String url = "https://www.yelp.com/search?" + descString + locString + "start=" + number;
ArrayList<String> names = new ArrayList<String>();
ArrayList<String> address = new ArrayList<String>();
ArrayList<String> phone = new ArrayList<String>();
Document document = Jsoup.connect(url).get();
Elements nameElements = document.select(".indexed-biz-name span");
Elements addressElements = document.select(".secondary-attributes address");
Elements phoneElements = document.select(".biz-phone");
for (Element element : nameElements)
{
names.add(element.text());
}
for (Element element : addressElements)
{
address.add(element.text());
}
for (Element element : phoneElements)
{
phone.add(element.text());
}
for (int index = 0 ; index <= number ; index++)
{
System.out.println("\nLead " + index);
System.out.println("Company Name: " + names.get(index));
System.out.println("Address: " + address.get(index));
System.out.println("Phone Number: " + phone.get(index));
}
//for (String name : names)
//{
// System.out.println(name);
//}
//System.out.println("\n");
//for (String add : address)
//{
//System.out.println(add);
//}
//for (String pho : phone)
//{
//System.out.println(pho);
//}
}
}
私はBlueJから受け取ったエラーjava.net.SocketTimeoutException;読み取りタイムアウト(java.net.SocketInputStream内)
別の例外をスローする必要がありますか?皆さんの助けを借りてお手伝いいただきありがとうございます!
URLを連結して印刷し、ブラウザでページにアクセスできるかどうかを確認できますか。 – Yan
実際には私は例外を投げただけで、今は明らかに実行されています。 Go figure。 –