python+selenium+chromedriver抓取shodan搜索结果

news/2024/7/19 9:26:08 标签: python, 爬虫, 操作系统

作用:免积分抓取shodan的搜索结果,并把IP保存为txt

前提:

  ①shodan会员(ps:黑色星期五打折)

  ②安装有python27

  ③谷歌浏览器(ps:版本一定要跟chromedriver匹配)

  ④windows系统

开始:

一.安装好必要的包

  ①win+R 调用cmd

  ②cd C:\Python27\Scripts(ps:以你自己实际安装目录来)

  ③pip install selenium

  ④pip install pyquery

二.下载核心组件和脚本

  ①shodan_project.zip 并且把解压到C:\Python27\

  ②chromedriver 解压进C:\Python27\shodan_project (ps:版本要跟谷歌浏览器对应,不然会导致抓取失败)

使用教程:

  ①修改shodan账号密码,和你要搜索的关键字

  ②python shodan_main.py 出现以下画面说明成功运行

 

  ③结果保存在success.txt

 

缺点:

  ①由于原作者是写死只抓取<a href="http://.*">格式的ip,会导致很多结果无法抓取出现getipfail<type'exceptions,Exception>的情况。

       ②然而shodan搜到的ip会有https,/host/,http等多种情况。你可以根据自己的情况修改源码。或者等我学习爬虫后出个升级版

 

临时解决办法:

   ①打开shodan_main.py,改为下面的语法

ip_item = re.findall(r'<a href=".*">', contents) 三个格式都抓取

  ②然而这样会导致下面的情况,把http://,/host/也给搞了进来

  ③我们可以利用记事本的替换功能,点击全部替换。

 

改进:

  ①bat指定Notepad++打开shodan_main.py

start /d "C:\Program Files (x86)\Notepad++" notepad++.exe "C:\Python27\shodan_project\shodan_main.py"

 

  ②bat一键启动shodan_main.py

@echo off  
cd  C:\Python27\shodan_project

start python shodan_main.py

exit

   ③bat打开结果目录

start explorer "C:\Python27\shodan_project"

 2018/4/28更新:

  ①把keyword=的""改为',这样才能搜字符串

shodan_seach(keywords='6379 country:"US"')               #关键字

    ②修改re.sub替换函数

ip = re.sub('/host/|http://|https://|">', "", ip)   # |是或的意思,这样就不用手动替换了

 2018/4/29更新:

  ①项目添加clean.py,过滤success.txt里的个别乱码

#!/usr/bin/env python
#_*_coding:utf-8 _*_
__author__ = 'gaogd'
import  re
 
with open('success.txt','r') as f:
    for line in f.readlines():
        result2 = re.findall('[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}', line)
        if not result2  == []:
            print result2[0]
            result = result2[0] + '\n'
            with open('arr_ip.txt', 'a+') as w:
                w.write(result)

  ②修改打开结果的bat

@echo off  
cd  C:\Python27\shodan_project

start python clean.py  '打开结果前运行该脚本

start explorer "C:\Python27\shodan_project"

exit                          'arr_ip.txt就是过滤后干净的ip

 

 

感谢:

  lethelife.com

参考:

  ①Python 从文件中筛选出ip 正则表达

  ②如何用python的re.sub( )方法进行“多处”替换

转载于:https://www.cnblogs.com/zuoxiaolongzzz/p/8963947.html


http://www.niftyadmin.cn/n/931031.html

相关文章

【stata】stata软件手动离线安装外部命令logout

本文参考&#xff1a;https://www.bilibili.com/video/BV1PQ4y1P7d8 首先感谢B站up主&#xff1a;宝藏男号DDJ 笔者安装stata软件版本为stata16.0&#xff0c;笔者在使用过程中需要用到logout命令&#xff0c;网上查询资料发现以下方法可以在线安装stata外部命令&#xff1a; …

【stata】如何快速上手stata软件

笔者安装的stata16.0&#xff0c;笔者将介绍自己如何从0基础到慢慢熟悉stata软件。 笔者之前写过C、Python、MATLAB、web前端开发代码 1、笔者在一开始使用stata软件就发现这个软件处理数据很强大&#xff0c;在写代码的时候又感觉跟MATLAB很像 以下是stata软件界面 点击软件左…

pandas之whl格式安装

一.主要介绍linux下安装 1.下载安装包&#xff1a;https://pypi.doubanio.com/simple/pandas/ 2.安装 pip install wheel 3.更新一下pip版本&#xff08;可选&#xff09;&#xff1a;pip install --upgrade pip 4.下载安装包为:pandas-0.20.3-cp27-cp27m-manylinux1_x86_64.w…

基于角色的权限控制-细粒度、前端低耦合版本

转载于:https://www.cnblogs.com/qunxiadexiaoxiangjiao/p/8964301.html

一个PDF免费转WORD的网站,亲测,好用!

最近发现一个将pdf免费转word的网站&#xff0c;亲测&#xff0c;很好用&#xff0c;记录下来方便下次使用&#xff1a; https://www.ilovepdf.com/zh-cn

爬虫大作业之广商足球快讯(爬取足球新闻)

1.选一个自己感兴趣的主题&#xff08;所有人不能雷同&#xff09;。 主题:爬取足球新闻相关信息 2.用python 编写爬虫程序&#xff0c;从网络上爬取相关主题的数据。 3.对爬了的数据进行文本分析&#xff0c;生成词云。 txt 词云: 4.对文本分析结果进行解释说明。 def getNews…

自己写一个javascript函数读取json数据并获得json数据长度

笔者在写web前端代码的时候使用到了json数据格式&#xff0c;但是发现javascript里面没有自带的获取json数据长度的函数&#xff0c;经过网上查询&#xff0c;写了两个获取json数据长度的函数&#xff0c;如下&#xff1a; 1、第一种json数据总长度 <!DOCTYPE html> <…

JavaScript基本概念C - 真与假

真与假与 c 和 c 非常相似, 但与 Java 不同, JS中被认为true或false范围很广。所有对象 (空字符串除外) 和非零数字都被视为 true。空字符串、零、null 和undefined 被视为 false。 undefined 是一个特殊值。未分配任何值时的所有变量都是undefined。清楚&#xff1f;:)同样, 不…