为公司省钱往往省不到自己身上

感觉本网站还不错的,请主动关闭浏览器的广告屏蔽功能再访问本站,谢谢支持。

08
2023
07

WordPress用memcache还是memcached好?哪个插件好用?

08
2023
07

百度云加速设置HTTPS后访问网址显示重定向次数过多的解决办法

08
2023
07

python爬取福利网站图片完整代码

import requests,bs4,re,os,threading
 
 
 
class MeiNvTu:
 
    def __init__(self):
 
        self.url_main='https://网址/pw/'
 
        self.url=f'{self.url_main}thread.php?fid='
 
    def getPageMax(self,typeID=14):
 
        try:
 
            res = requests.get(f'{self.url}{typeID}')
 
            res.encoding = 'utf-8'
 
            soup = bs4.BeautifulSoup(res.text, 'lxml')
 
            pageNum = soup.select('#main > div > span.fl > div.pages.cc > span')
 
            pageNum = int(re.search('/(.*?)Go', str(pageNum)).group(1))
 
            return pageNum
 
        except:
 
            return 0
 
    def getTitleList(self,typeID=14,page=1):
 
        '''
 
        爬取栏目里某一页的列表,网络错误返回False
 
        :param typeID:
 
        :param page:
 
        :return:
 
        '''
 
        try:
 
            res=requests.get(f'{self.url}{typeID}&page={page}')
 
            res.encoding= 'utf-8'
 
            soup=bs4.BeautifulSoup(res.text,'lxml')
 
            listTitle=soup.select('tr > td > h3')
 
            lists=[]
 
            for item in listTitle:
 
                if 'html_data' in item.a['href'] :
 
                    d={}
 
                    d['href']=self.url_main+item.a['href']
 
                    d['title']=item.a.text
 
                    lists.append(d)
 
            return lists
 
        except:
 
            return False
 
    def downImg(self,url,path):
 
        '''
 
        下载一整个页面的图片
 
        :param url:
 
        :param path:
 
        :return:
 
        '''
 
        global pool_sema
 
        res = requests.get(url)
 
        res.encoding = 'utf-8'
 
        soup = bs4.BeautifulSoup(res.text, 'lxml')
 
        imgs=soup.select('#read_tpc > img')
 
        lists=[]
 
        try:
 
            for i,item in enumerate(imgs):
 
 
 
                imgUrl=re.search("window.open\('(.*?)'\);", str(item['onclick'])).group(1)
 
                imgData=requests.get(imgUrl).content
 
                typ=imgUrl.split('.')[-1]
 
                with open(f'{path}{i}.{typ}','wb')as f:
 
                    f.write(imgData)
 
        except:
 
            print('\033[31m[下载失败!网络异常] ' + path)
 
            pool_sema.release()
 
            return
 
 
 
        #将下载好的情况记录下来,下次可以跳过
 
        textpath=''
 
        for item in path.split('\\')[0:3]:
 
            textpath=textpath+item+'\\'
 
        mutex.acquire()
 
        try:
 
            with open(textpath+'log.txt','a')as f:
 
               f.writelines(path.split('\\')[3]+'\n\r')
 
        except:
 
            pass
 
        mutex.release()
 
        # 完成后线程池记录-1
 
        print('\033[31m[完成下载] '+path)
 
        pool_sema.release()
 
    def get_typeTitle(self,id):
 
        '''
 
        返回类型的标题
 
        :param id:
 
        :return:
 
        '''
 
        if id==14:
 
            return '唯美写真'
 
        if id==15:
 
            return '网友马赛克'
 
        if id==16:
 
            return '露出马赛克'
 
        if id==49:
 
            return '街拍马赛克'
 
        if id==21:
 
            return '丝袜美腿'
 
        if id==114:
 
            return '欧美马赛克'
 
    def downloadthe(self,title,path):
 
        '''
 
        判断是否已经下载过,下载过返回True,没下载过返回False
 
        :param title:
 
        :param path:
 
        :return:
 
        '''
 
 
 
        try:
 
            with open(path+'log.txt', 'r')as f:
 
                text = f.read()
 
            if title in text:
 
                return True
 
            else:
 
                return False
 
        except:
 
            return False
 
    def get_Page_History(self,path):
 
        '''
 
        读取上一次结束 的页码
 
        :param path:
 
        :return:
 
        '''
 
        try:
 
            with open(path+'pagelog.ini','r')as f:
 
                return int(f.read())
 
        except:
 
            return 0
 
if __name__ == '__main__':
 
    # 限制线程数量
 
    pool_sema = threading.BoundedSemaphore(70)
 
    # 创建互斥体
 
    mutex = threading.Lock()
 
    #创建爬取对象
 
    mnt=MeiNvTu()
 
    #栏目id
 
    typeID=21
 
    #获得最大页数
 
    page_max=mnt.getPageMax(typeID)
 
    if page_max==0:
 
        print('\033[31m网络错误!,总页数为0')
 
    else:
 
        path_main= f"D:\\爬取的网站图片\\{mnt.get_typeTitle(typeID)}\\"
 
        if os.path.isdir(path_main) != True:
 
            os.makedirs(path_main, mode=0o777)
 
        #爬取某页的列表
 
        page_History=mnt.get_Page_History(path_main)
 
        for i in range(page_max):
 
            #跳过之前下载过的页码
 
            if i+1<page_History:
 
                print(f'\033[37m跳过页码:{i + 1}')
 
                continue
 
            #记录下来页码
 
            with open(path_main+'pagelog.ini','w')as f:
 
                f.write(str(i+1))
 
            print(f'\033[37m当前页码:{i+1}')
 
            titleList = mnt.getTitleList(typeID, i + 1)
 
            if titleList==False:
 
                print('\033[31m网络错误!,列表获取失败!')
 
                break
 
            for item in titleList:
 
                title=item['title'].replace(' ','').replace(':','').replace('!','').replace('?','').replace('*','').replace('"','')
 
                path = path_main + title + "\\"
 
                #判断是否有这个目录,没有的话就建立
 
                if os.path.isdir(path) != True:
 
                    os.makedirs(path, mode=0o777)
 
                if mnt.downloadthe(title,path_main)==False:
 
                    # 线程池记录+1
 
                    pool_sema.acquire()
 
                    print('\033[37m[开始下载] '+path)
 
                    # 爬取某个标题中的所有图片
 
                    t=threading.Thread(target=mnt.downImg,args=(item['href'], path))
 
                    t.setDaemon(True)
 
                    t.start()
 
                else:
 
                    print('\033[35m发现下载过的:',title,' 已经智能跳过!')
08
2023
07

网站服务器测速工具 Speedtest-N

08
2023
07

speedtest-x 网站测速工具开源

08
2023
07

宽带测速在线测网速怎么测(免费开源的在线测速工具)

07
2023
07

网络突发环路,原来可以这么解决啊

06
2023
07

全局编录服务器(GC)

06
2023
07

企业AD架构规划设计详解

06
2023
07

大型企业AD架构规划



1、项目介绍:


公司是外资企业,在国外有多个分公司,每个公司的都有自己独立的AD域,导致AD帐号去做集团化的验证登录、邮件管理,或分公司出差去其它国家的公司,用AD登录和使用都不是统一的,所以大大提出集团化AD域架构,统一使用唯一集团工号去登录和使用系统和邮件。


2、AD域架构选型


考虑主要从父子域和单域多站点,后再网上搜索一些文档和测试,最终选的单域多站点(其中也有一个原因现所有公司都有VPN专线互联)

06
2023
07

那些网络中容易出现的故障!


https://blog.51cto.com/huangkui/2822181
06
2023
07

企业AD架构规划的ABCDE方案

06
2023
07

在腾讯云上使用自建DNS

06
2023
07

图形界面和命令行两种方式配置:AD域DNS条件转发器实现内网域名解析走云平台默认DNS

06
2023
07

项目实例一:新建的DNS上创建AD集成域的条件转发Forward Zone,验证直接指向搭建的DNS的终端是否能够成功加域和身份验证

步骤一、搭建AD域控
1.创建虚拟机Windows Server 2008 R2
2.在开始菜单栏选择运行命令提示符,键入dcpromo
dcpromo

06
2023
07

windows客户端加入域时报错: DNS名称不存在

windows客户端加入域时报错: DNS名称不存在,具体报错如下:


--------------------


注意: 此信息主要供网络管理员参考。如果您不是网络管理员,请通知网络管理员您收到了此信息,该信息已记录在文件 C:\Windows\debug\dcdiag.txt 中。


查询 DNS 以获取用于查找域“throld.com”的 Active Directory 域控制器(AD DC)的服务位置(SRV)资源记录时出现下列错误:

06
2023
07

理解计算机的主DNS后缀选项

原本在这一节要讲解DNS的安装,但我发现其实在此之前,还需要向大家说明几个基本的概念,首先说到的是DNS后缀。

06
2023
07

DNS查询工具之NSLOOKUP的使用

上一节里我们讨论了有关DIG工具的用法,本节将对windows下nslookup工具的一些主要命令进行描述。
06
2023
07

DNS 客户端查询过程

DNS客户端的注册信息在DNS服务器中是以记录的方式体现出来的,那么客户端就可以用一些方式进行查询各类记录。相对应的,服务器会对这些查询进行响应,我们称之为解析,至于DNS内部的工作机制,我们不得而知,但可以通过一些命令和方法间接地了解DNS查询过程。为了更好的描述这个问题,我做了一张简单的TOPO图,其中DNS1为DNS服务器,主机XP3是一个DNS客户端。拓扑图如下:
06
2023
07

一起学DNS系列(七)辅助区域、存根区域操作演示 (2)

您的IP地址是: