子域名和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

posted on 2022-03-19 22:46  寂寞梧桐#  阅读(417)  评论(0编辑  收藏  举报

导航