使用screen-scraper抓取导航页面

时间:2014-09-12 05:27:56

标签: web-scraping

我是屏幕刮刀新手。我正在抓一个名为“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

现在我们可以从这些网址中看到,没有像“page = 2”这样的下一页的直接参数。而不是我需要将整个url变为变量,然后以某种方式更改名为NextList2和NextList3的参数。

任何人都可以通过提供此问题的解决方案来帮助我吗?

1 个答案:

答案 0 :(得分: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");
}