2012-08-16 56 views
-1

我有以下格式的站点:抓痕随着增量的ID

http://www.domain.com/membership/member_zoom.php?value

值开始于1000并停止大约15,000

这里是源代码的样例:

<h1>Member Information</h1> 


<h2>Company Name</h2> 
<p>Address<br /> 
More Address<br /> 
City<br /> 
State<br /> 
Postal code<br /> 
</p> 
<p><strong>Contact:</strong> Firstname Lastname, PH.D., P.ENG. - <a href="mailto:[email protected]">[email protected]</a><br /></p> 
<a href="http://www.domain.com">www.domain.com</a><br /> 
<p><strong>Phone:</strong> (555)555-5555<br /></p> 

所以,我需要抓住我之间的一切mber Information和最后一个div标签,然后递增ID值1,重复。但是,有很多死ID。我的刮板只是敲击网站,增加一次,然后再次击中它。有更容易的方法吗?也许某种方式来建立故障安全?

回答

2

在试图加载它并查看它是否存在之前,无法判断某个ID是否存在。您需要查找链接列表,或从网站的其他部分刮取会员ID。如果你不能这样做,你只需要尝试每一个。

+0

Gotcha。我如何缩小抓取范围,使其位于上面的代码示例中?现在它抓住了整个页面。谢谢! – Publiccert 2012-08-16 16:02:44

+0

你如何加载页面?您可能一次只能读取1kB,一旦处理完所需的所有内容,就可以关闭连接而不读剩下的内容。不过,您必须按顺序阅读相关部分。 – Claudiu 2012-08-16 16:20:18

+0

通过urllib加载它 – Publiccert 2012-08-16 16:21:14

0

创建HEAD请求。跳过404,用好的做GET。忘掉读取(1024),这会浪费你的带宽和他们的。

+0

不幸的是,没有404的。只是'无法检索客户信息'。消息但没有错误。我想我可以过滤掉这些,但我不知道有任何其他方式来寻找。 – Publiccert 2012-08-21 16:40:26

+0

尝试内容长度标题。它将在HEAD请求中可用。 – pguardiario 2012-08-21 23:51:35