利用Python来配合Google来收集信息

大家都知道,在进行渗透测试最重要的一个环节就是信息收集。说到信息收集怎么能不让能联想到谷歌以及谷歌语法呢?如果是人工的搜索并且提取相关信息无疑是一个工作量很大的一个事情。并且也是相当浪费时间的一个事情。那么我们如何快速地去除一些重复性工作呢?通过代码语言无疑是我们一个很好的选择,接下来我将介绍使用Python3 + Selenium + pymysql + Google来完成这样一个重复性任务。下面我们将以提取站点域名以及URL为例。

首先我先介绍一下Selenium库以及pymysql是什么?Python3 以及Google我就不赘述了。简单地说明一下,selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。那么我们可以利用该库去操作WEB浏览器。pymysql 是python3当中操控数据库的一个组件。

下面我们来分析,我们需要利用Selenium来自动运行WEB浏览器。我们需要在浏览器上做什么样的操作呢?输入谷歌url,在谷歌搜索栏输入谷歌语法,然后提取我们需要的内容。对不对?好的,那么我们脑子里面已经有了一个初步的概念。接下来,我们需要做的是告诉Selenium我们的想法,并且它需要做的事情。接下来,我们来看下面的代码:

#提取数据class driver_1(object): def __init__(self): self.driver = webdriver.Chrome(‘D:chromedriver_win32chromedriver.exe’) #访问谷歌,搜索信息 def logload_Chrome(self,search): self.driver.get(‘https://www.google.com/’) #定位搜索栏位置 Search = self.driver.find_element_by_name(‘q’) self.driver.implicitly_wait(30) Search.send_keys(search) Search.send_keys(Keys.ENTER) #提取站点信息 def Search_site(self,site,num): dict_name_url = {} now_site = ‘site:’ + ”’ + site + ”’ self.logload_Chrome(now_site) #提取url和name for a in range(0,num): if a > 0 and a a[href]’) i = 0 while i a[href]’) i = 0 while i < len(Result_name): dict_name_url[str(Result_name[i].text)] = str(Result_url[i].get_attribute('href')) i += 1 return dict_name_url

上述代码的作用是:登录谷歌并且输入搜索内容,并且通过循环来提取Google搜索出来的内容。

当我们顺利地提取出内容的时候就可以将内容放入数据库。这个时候,我们需要利用到pymysql库。通过它我们可以操控数据库。详细情况请看下面代码:

#保存数据信息class Save_to_DB(object): #链接出入数据 def connect(self,i,key,value): conn = pymysql.connect( host = ‘localhost’, user = ‘root’, password = ‘Password@2020’, database = ‘suda’ ) #创建游标对象 cursor = conn.cursor() try: cursor.execute(“insert into information_site_suda values(%s,’%s’,’%s’);” %(int(i),key,value)) conn.commit() conn.close() except: conn.ping() cursor = conn.cursor() cursor.execute(“insert into information_site values(%s,’%s’,’%s’);” % (int(i), key, value)) conn.commit() conn.close()

上述代码的作用是将查询出来的数据存放入数据库当中。

既然功能模块已经实现,接下来就是调用了。详细代码可以查看附件(注意:中的一些部分需要修改才能运行,不如,MYSQL数据库名等等)。该文章或许一些人看不懂。没有关系,文章当中的模块可以自己学习并不难。主要是希望各位了解到尽量不要去做重复性的劳动。学会利用工具。我一直认为代码功底是区分脚本小子和大牛的分水线。请各位一起加油!!!

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
上一篇 2022年6月13日 06:10
下一篇 2022年6月13日 06:10

相关推荐

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息