다나와 에서 '잘만' 검색어로 상품검색할때 다나와에서는 상품리스트를 ajax통신으로 불러오게되어있다.







 크롬 개발자 도구에서 ajax 로딩파일을 찾음



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
 
public class crawling {
 
    public static void main(String[] args) {
        try {            
            Document doc = Jsoup.connect("http://search.danawa.com/ajax/getProductList.ajax.php")
                    .header("Origin""http://search.danawa.com")
                    .header("Referer""http://search.danawa.com/")
                    .data("query""잘만").post();
            
            Elements items = doc.select("li.prod_item");
            
            for (Element item : items) {
                System.out.println(item.html());
                System.out.println(" ");
            }            
        } catch (Exception e) {e.printStackTrace();}
    }
}
 
cs



POINT!

1. Jsoup.connect(url)  url 연결.

2. .header("request header ", "value") 값으로 대입.

3. .data("key", "value") 값 대입.

4. 여기서 post() 로 호출하는 거랑 get()의 차이가 있다.

5. HTML DOM 으로 css selector 를 구한다.


+ Recent posts