1. 程式人生 > 其它 >子域名和IPC備案記錄收集器

子域名和IPC備案記錄收集器

子域名和IPC備案記錄收集器

子域名收集器

子域名不僅在網站中佔據主要的地位,可以方便使用者增加網站的閱讀量,但是由於子域名的安全直接影響到了網站的安全,如果網站的子域名有漏洞將直接影響到網站的安全。

程式碼優點

是以函式的形式進行的指令碼開發,方便移植。程式碼簡潔方便閱讀,速度快,而且還是實時更新。

程式碼

import requests
import bs4


def dian_dian_site(domain_name):
    """
    這是一個子域名挖掘函式,在點點網站爬蟲函式
    :param domain_name: 傳入一個想要檢視子域名的網站
    :return: 返回的是一個子域名的列表和文件
    """
    try:
        url_list = []
        subdomain_name = []
        grab = requests.get('https://seo.diandian.com/subdomain/' + domain_name)
        grab.raise_for_status()
        grab.encoding = grab.apparent_encoding  # 這個方法是用來確定編碼的,一般的網站編碼都是什麼ISO的,然後備用編碼才是utf8,要看一下,這裡一他的備用編碼為標準獲取。
        website_analysis = bs4.BeautifulSoup(grab.text)
        element = website_analysis.select('a')
        for i in range(len(element)):
            new_element = element[i]
            url = new_element.get('href')
            url_list.append(url)
        del url_list[0:28]
        for i in range(0, len(url_list), 10):
            subdomain_name.append(url_list[i])
        del subdomain_name[-3:-1]
        del subdomain_name[-1]
        with open('dian_dian_url_list.txt', 'w+', encoding='utf-8') as file:
            file.write('\n'.join(subdomain_name))
        file.close()
        grab.close()
        return subdomain_name
    except Exception as e:
        print('************爬取失敗!*******************')

使用教程

傳入一個網站,返回的是他的子域名。

執行的結果

例子中我傳入的是我寫部落格的部落格園地址www.cnblogs.com

http://account.cnblogs.com:443
http://edu.cnblogs.com
http://space.cnblogs.com
http://0754ydj.cnblogs.com
http://i-beta.cnblogs.com
http://bumood.cnblogs.com
http://qianjun8627.cnblogs.com
http://boylee.cnblogs.com
http://ajaxleoxu.cnblogs.com
http://xuxu7325.cnblogs.com
http://xumingming.cnblogs.com
http://xzc5858.cnblogs.com
http://xu1ji.cnblogs.com
http://xspaceworld.cnblogs.com
http://iverson-anders.cnblogs.com
http://butterflydew.cnblogs.com
http://dqw3721.cnblogs.com
http://gnorts.cnblogs.com
www.cnblogs.com
http://nyth.cnblogs.com
http://smx801.cnblogs.com
http://smartbooks.cnblogs.com
http://ncindy.cnblogs.com
http://ndljava.cnblogs.com
http://nysanier.cnblogs.com
http://yczz.cnblogs.com
http://numbaby09.cnblogs.com
http://snowy.cnblogs.com
http://snryang.cnblogs.com
http://nehc.cnblogs.com
http://networdboy.cnblogs.com
http://netreport.cnblogs.com
http://netwy.cnblogs.com
http://newwy.cnblogs.com
http://newsong.cnblogs.com
http://nivi3000.cnblogs.com
http://nicall.cnblogs.com
http://niceboy.cnblogs.com
http://nihaogjm.cnblogs.com
http://niko-zhuang.cnblogs.com
http://newblue.cnblogs.com
http://newos.cnblogs.com
http://net66.cnblogs.com
http://netboy.cnblogs.com
http://netman.cnblogs.com
http://netssfy.cnblogs.com
http://smallfa.cnblogs.com
http://nlsh.cnblogs.com
http://o2mfm.cnblogs.com

ipc備案記錄收集器

IPC備案記錄在我們判斷網站是不是傳銷或者是釣魚網站的重要手段

程式碼的優點

簡單易懂,拓展性高,可以實現批量化的爬蟲

程式碼

def icp_grab(domain_name):
    """
    本函式是用來爬取ICP備案號
    :param domain_name: 傳入一個域名
    :return: 返回的是同一主辦單位的所有的備案網站
    """
    try:
        icp_list = []
        grab = requests.get('https://seo.diandian.com/beian/domain/' + domain_name)
        grab.raise_for_status()
        grab.encoding = grab.apparent_encoding
        website_analysis = bs4.BeautifulSoup(grab.text)
        f = open('ICP_record.txt', mode='w+', encoding='utf-8')
        table = website_analysis.find_all('div', class_="dd-text-center")
        for i in table:
            icp_list.append(i.text.strip())
            f.write(i.text.strip())
            f.write('\n')
        for a in range(1, len(icp_list), 3):
            return icp_list[a]

        f.close()
        grab.close()
    except  Exception as e:
        print('************爬取失敗!*******************')


dian_dian_site('www.83bw9.com')

使用簡介

傳入一個網站,返回的是ipc的備案網站。

使用的效果

滬ICP備09004260號-1
cnweblog.com
2018-08-31
滬ICP備09004260號-1
cppblog.com
2018-08-31
滬ICP備09004260號-1
cnblogs.com
2018-08-31
滬ICP備09004260號-1
blogjava.net
2018-08-31
滬ICP備09004260號-1
teachblog.net
2018-08-31
滬ICP備09004260號-1
phpweblog.net
2018-08-31
滬ICP備09004260號-1
cnitblog.com
2018-08-31