def getAlexa(self,url): ''' :从Alexa网站上获取全球排名中文排名信息 :param url:待获取排名信息的超链接 ''' if ggv.pterminate:return None ranks = [] numR = 0 gd = GetDomain() domain = gd.getDomain(url) #提取超链接的域名 url = cgv.alexaUrl + domain time.sleep(10) #休眠10秒 htmlText = GetHtmlText() soup = htmlText.getHtml(url) #获取网页源码,不能直接根据网页文本进行判断,因为有的信息不存在 if soup: rankrow = soup.findAll('div',{'class':'rank-row'}) for rk in rankrow: rkl = rk.find('div') if type(rkl) == types.NoneType: continue numR += 1 rank = rkl.find('a').text #如果有排名,排名处会出现超链接 ranks.append(rank) if numR < 2: ranks.append('-') else: #没有相关标志则表示不存在 ranks.append('-') ranks.append('-') return ranks
def getAlexa(self, url): """ :从Alexa网站上获取全球排名中文排名信息 :param url:待获取排名信息的超链接 """ if ggv.pterminate: return None ranks = [] numR = 0 gd = GetDomain() domain = gd.getDomain(url) # 提取超链接的域名 url = cgv.alexaUrl + domain time.sleep(10) # 休眠10秒 htmlText = GetHtmlText() soup = htmlText.getHtml(url) # 获取网页源码,不能直接根据网页文本进行判断,因为有的信息不存在 if soup: rankrow = soup.findAll("div", {"class": "rank-row"}) for rk in rankrow: rkl = rk.find("div") if type(rkl) == types.NoneType: continue numR += 1 rank = rkl.find("a").text # 如果有排名,排名处会出现超链接 ranks.append(rank) if numR < 2: ranks.append("-") else: # 没有相关标志则表示不存在 ranks.append("-") ranks.append("-") return ranks
def getIpAndAddress(self, url): """ :获取相应url的ip地址 :param url:待获取ip地址的超链接 """ if ggv.pterminate: return None list = [] gd = GetDomain() domain = gd.getDomain(url) try: ip = socket.gethostbyname(domain) except Exception, e: if ggv.pterminate: return None # print 'Get Ip address error: %s, url:%s'%(e,url) logging.error("Get Ip address error: %s,url:%s " % (e, url)) try: ip = socket.gethostbyname("www." + domain) except Exception, e: if ggv.pterminate: return None # print 'Get Ip address error2:%s,url:%s '%(url,e) logging.error("Get Ip address error2: %s,url:%s " % (url, e)) list.extend(["-", "-"]) return list
def getBeian(self,url): ''' :从360服务器读取所要网站的建站的详细信息 :如,网站名称、网站主页、网站所有者、网站所有单位、所有单位性质、备案信息、检验时间等信息。 :param url:需要获取相关信息的网站链接 ''' if ggv.pterminate:return None gd = GetDomain() domain = gd.getDomain(url) #提取链接中的域名,因为360根据域名获取网站建站信息 gi = GetItems() base64Code = base64.b64encode(domain) #编码为base64,因为360获取网站建站信息的超链接域名是base64编码的 beianUrl = cgv.url360 + base64Code htmlText = GetHtmlText() #获取网页文本 text = htmlText.getHtmlText(beianUrl) return gi.getItems(text, cgv.beiAnInfoItem, cgv.beiAnNoInfo)
def getBeian(self, url): """ :从360服务器读取所要网站的建站的详细信息 :如,网站名称、网站主页、网站所有者、网站所有单位、所有单位性质、备案信息、检验时间等信息。 :param url:需要获取相关信息的网站链接 """ if ggv.pterminate: return None gd = GetDomain() domain = gd.getDomain(url) # 提取链接中的域名,因为360根据域名获取网站建站信息 gi = GetItems() base64Code = base64.b64encode(domain) # 编码为base64,因为360获取网站建站信息的超链接域名是base64编码的 beianUrl = cgv.url360 + base64Code htmlText = GetHtmlText() # 获取网页文本 text = htmlText.getHtmlText(beianUrl) return gi.getItems(text, cgv.beiAnInfoItem, cgv.beiAnNoInfo)
def extractUrls(self): ''' :提取网页所有超链接 ''' gd = GetDomain() self.dm = gd.getDomain(self.url) if not self.dm: #传入的链接本身就存在问题 # print 'Illegal url' logging.warn('Illegal url: %s'%self.url) return if self.flag not in self.flags: #参数不合法 # print 'Illegal parameter' logging.warn('Illegal parameter: %s'%self.choiceId) return else: self.links = self.getUrls() #获取超链接 if self.links: if self.flag == 'inlink':self.getInnerUrls() elif self.flag == 'outlink':self.getOuterUrls() else:self.getSubInnerUrls()
def extractUrls(self): ''' :提取网页所有超链接 ''' gd = GetDomain() self.dm = gd.getDomain(self.url) if not self.dm: #传入的链接本身就存在问题 # print 'Illegal url' logging.warn('Illegal url: %s' % self.url) return if self.flag not in self.flags: #参数不合法 # print 'Illegal parameter' logging.warn('Illegal parameter: %s' % self.choiceId) return else: self.links = self.getUrls() #获取超链接 if self.links: if self.flag == 'inlink': self.getInnerUrls() elif self.flag == 'outlink': self.getOuterUrls() else: self.getSubInnerUrls()
def getIpAndAddress(self,url): ''' :获取相应url的ip地址 :param url:待获取ip地址的超链接 ''' if ggv.pterminate:return None list = [] gd = GetDomain() domain = gd.getDomain(url) try: ip = socket.gethostbyname(domain) except Exception,e: if ggv.pterminate:return None # print 'Get Ip address error: %s, url:%s'%(e,url) logging.error('Get Ip address error: %s,url:%s '%(e,url)) try: ip = socket.gethostbyname('www.'+domain) except Exception,e: if ggv.pterminate:return None # print 'Get Ip address error2:%s,url:%s '%(url,e) logging.error('Get Ip address error2: %s,url:%s '%(url,e)) list.extend(['-','-']) return list