搜索网站

时间:2010-02-19 16:18:48

标签: python urllib

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个结果。

2 个答案:

答案 0 :(得分:0)

只需访问网站并在手动页面查看网址即可轻松查看:只需在网址?中的page=1&后面查看结果的第二页,或{ {1}}查看第三页,依此类推。

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

答案 1 :(得分:0)

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