为什么爬虫程序抓取同一个页面的HTML和实际显示的HTML不同?

我需要根据书籍的ISBN号码在Amazon网站上抓取对应所有tags。问题是tags多的时候就会有分页。我用下面的方法抓取第一页的tags没有问题,但是当抓取>1的页面时,就返回的HTML仍然是第1页的HTML,真的很奇怪????????

使用java 语言,我用下面这个方法来根据URL得到HTML字符串:
public static String GetHTMLStringByURLString(String urlString) {
String hTMLString="";
try {
URL url=new URL(urlString);
URLConnection urlConnection=url.openConnection();
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
String tmpString;
while ((tmpString=bufferedReader.readLine())!=null) {
hTMLString+=tmpString;
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return hTMLString;
}

似乎也不是Ajax做的页面啊 ?
URL例如:http://www.amazon.com/dp/tags-on-product/0345803485?page=2
其中page是页数的参数

第1个回答  2012-04-09
一定要设置User-Agent
urlConnection.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)");追问

前几天我也发现了。但是请问:这是不是意味着Amazon网站对为了防止抓取程序而进行了检测并限制啊??

追答

可能吧,我也不太确定,我以前也碰到过类似的问题,最开始几个月没有设置User-Agent也能正常工作,后来突然不行,发现得到的内容完全不一样了,最后增加了User-Agent就正常了

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网