Frage

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"

Wenn ich die exploit-db.com Website suche ich nur mit 25 Ergebnisse kommen, wie kann ich es auf die andere Seite gehen zu machen oder gehen 25 Ergebnisse passieren.

War es hilfreich?

Lösung

Einfach zu überprüfen, indem Sie einfach die Website besuchen und Blick auf der URLs, wie Sie manuell Seite: gerade richtig setzen nach dem ? in der URL page=1& zu Blick auf der zweiten Seite der Ergebnisse oder page=2& zu Blick auf der dritten Seite und so weiter.

Wie ist dies eine Frage Python? Es ist ein (sehr elementar!) Frage "Screen Scraping".

Andere Tipps

Anscheinend ist der exploit-db.com Standort darf nicht die Seitengröße erstreckt. Sie müssen daher auf „manuell“ Seite durch die Ergebnisliste durch die urllib.urlopen Wiederholung () den folgenden Seiten zu bekommen. Die URL ist das gleiche wie die anfänglich verwendet wird, plus der &page=n Parameter. Achtung dieser n-Wert erscheint 0-basiert sein (das heißt & page = 1 geben die zweiten Seite)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top