0
import urllib
import re
import os
search = (raw_input('[!]Search: '))
site = "http://www.exploit-db.com/list.php?description="+search+"&author=&platform=&type=&port=&osvdb=&cve="   
print site
source = urllib.urlopen(site).read()
founds = re.findall("href='/exploits/\d+",source)
print "\n[+]Search",len(founds),"Results\n"
if len(founds) >=1:
        for found in founds:
                found = found.replace("href='","")
                print "http://www.exploit-db.com"+found
else:
        print "\nCouldnt find anything with your search\n"

当我搜索exploit-db.com 站点时,我只得到25 个结果,我怎样才能让它转到另一个页面或传递25 个结果。

4

2 回答 2

0

只需访问该站点并在手动分页时查看 URL,即可轻松检查:只需将 URL 放在?URL之后page=1&即可查看结果的第二页,或page=2&查看第三页,依此类推。

这是一个 Python 问题吗?这是一个(非常基本的!)“屏幕抓取”问题。

于 2010-02-19T16:27:09.030 回答
0

显然exploit-db.com 站点不允许扩展页面大小。因此,您需要通过重复 urllib.urlopen() 来“手动”翻阅结果列表以获取后续页面。URL 与最初使用的 URL 相同,加上&page=n参数。注意这个 n 值似乎是基于 0 的(即 &page=1 将给出第二页)

于 2010-02-19T16:27:19.887 回答