سؤال

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 نتيجة.

هل كانت مفيدة؟

المحلول

من السهل التحقق من مجرد زيارة الموقع والنظر إلى عناوين URL كما كنت يدويًا: فقط وضعت مباشرة بعد ? في عنوان URL page=1& للنظر في الصفحة الثانية من النتائج ، أو page=2& للنظر في الصفحة الثالثة ، وهكذا دواليك.

كيف هذا سؤال بيثون؟ إنه سؤال (ابتدائي للغاية!) "شاشة كشط".

نصائح أخرى

من الواضح أن موقع Exploit-db.com لا يسمح بتمديد حجم الصفحة. لذلك تحتاج إلى "يدوي" من خلال قائمة النتائج من خلال تكرار urllib.urlopen () للحصول على صفحات لاحقة. عنوان URL هو نفسه الذي يستخدمه في البداية ، بالإضافة إلى &page=n معامل. الاهتمام يبدو أن هذه القيمة n تستند إلى 0 (IE & page = 1 ستعطي ثانيا صفحة)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top