2014-09-12 5 views
0

Я новичок в скриншоте. Я очищаю сайт под названием «www.uspto.gov».соскабливание навигационных страниц с использованием экранного скребка

Эти две ссылки:

http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch-adv.htm&r=0&f=S&l=50&d=PTXT&OS=%22social+networking%22&RS=%22social+networking%22&Query=%22social+networking%22&TD=6908&Srch1=%22social+networking%22&NextList2=Next+50+Hits

http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch-adv.htm&r=0&f=S&l=50&d=PTXT&OS=%22social+networking%22&RS=%22social+networking%22&Query=%22social+networking%22&TD=6908&Srch1=%22social+networking%22&NextList3=Next+50+Hits

Теперь мы можем видеть из этих URL-адресов, что не существует прямой параметр для следующей страницы, как «страница = 2». Вместо этого мне нужно взять весь url в переменную, а затем как-то изменить параметры, которые называются NextList2 и NextList3.

Может ли кто-нибудь помочь мне, предоставив решение этой проблемы?

+4

возможно дубликат [выскабливание следующей странице ссылки с помощью экрана-скребок] (HTTP: // StackOverflow. ком/вопросы/25752742/соскоб-некст-страница-ссылка-используя экран-скребок) – nrabinowitz

ответ

0

Разбивка на страницы, как это не редкость. Что бы я сделать, это извлечь общие результаты:

Hits 51 through 100 out of 6908 

И сделать сценарий для:

total = Integer.parseInt(dataRecord.get("TOTAL")); 
perPage = 100 
pages = total/perPage; 
if (tota%perPage>0) 
    pages++; 

for (i=2; i<=pages; i++) 
{ 
    param = "NextList" + String.valueOf(i); 
    session.log("Scraping " + param); 
    session.setv("NEXT_PARAM", param); 
    session.scrapeFile("Next search results"); 
} 
Смежные вопросы