python批量查询网站名称

原创 2016年05月30日 10:04:53

前言:最近一段时间老大给我一大批网站域名,让我帮忙查询这些网站域名对应的网站名称。作为一个IT屌丝,这种事情不可能手动一个一个去查询,于是决定写个自动化脚本去查询。

思路:网上有很多域名查询的网站,但是大部分都是要验证码的,这样的话对于编写脚本的难度就增加了很多。千辛万苦找到了一个http://icp.chinaz.com/。于是就开始编写脚本,由于近段时间在学习selenium所以就用它的框架去写。

功能:读取txt文件中的域名,然后查询域名对应的网站名称,查询结束后把结果写入excel表格里。

废话不多说,直接上代码:

# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import unittest, time, re
import xlwt

class Myurltest(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.base_url = "http://icp.chinaz.com/"
        self.verificationErrors = []
        self.accept_next_alert = True
    
    def test_myurl(self):
        driver = self.driver
        driver.get(self.base_url + "/")
        driver.maximize_window()
        f=open("newurl.txt",'rb+')
        line=f.readlines()
        book = xlwt.Workbook(encoding='utf-8',style_compression=0)
        sheet=book.add_sheet(u'data',cell_overwrite_ok=True)
        for i in range(len(line)):
            driver.find_element_by_id("s").clear()
            driver.find_element_by_id("s").send_keys(line[i])
            driver.find_element_by_id("search").click()
            try:
                driver.implicitly_wait(0.5)
                data=driver.find_element_by_xpath("//div/ul[@id='first']/li[4]/p").text
            except NoSuchElementException,e:
                sheet.write(i,0,line[i])
                sheet.write(i,1,u"没查到")
                print u"没查到"
                continue
            print line[i],
            print data
            sheet.write(i,0,line[i])
            sheet.write(i,1,data)
        book.save('myurl.xls')
    def is_element_present(self, how, what):
        try: self.driver.find_element(by=how, value=what)
        except NoSuchElementException, e: return False
        return True
    
    def is_alert_present(self):
        try: self.driver.switch_to_alert()
        except NoAlertPresentException, e: return False
        return True
    
    def close_alert_and_get_its_text(self):
        try:
            alert = self.driver.switch_to_alert()
            alert_text = alert.text
            if self.accept_next_alert:
                alert.accept()
            else:
                alert.dismiss()
            return alert_text
        finally: self.accept_next_alert = True
    
    def tearDown(self):
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":
    unittest.main()


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

python数据库批量查询,批量保存

# Create your views here. #-*-coding:utf-8-*- from django.template import loader,Context,Template ...

python2.7 批量更改名称

【Python正则表达式】 批量去除视频名称中的网址

需求提出:许多资源下载站点,会在视频文件中加入网址。网站资源提供者为了更多的导入流量而附加的,为广大网友提供了有价值的资源,但是对于爱好干净,清爽的用户来说,手动去除网址毕竟不是太高效 关键技术点: ...

python实现网站内部视频批量下载

一、背景 在有些时候,当我们突然在某个网站看到一个特别好的视频(比如高清MV),想把它下载下来,但突然发现,网站并没有下载链接;这个时候我们一般有几种解决办法: 使用网页插件(比如火狐浏览器的net...

python批量下载兰科植物网站的图片,并重命名文件

该程序为下载 http://www.orchidspecies.com/ 兰花网站图片,并以名字命名图片的小爬虫。 # -*- coding: utf-8 -*- import re,os,req...

从excel文件中获得数据,实现网站的批量查询数据功能

直接上代码和解析,代码应该都是比较简单的,基本每行都加了注释 希望看的亲们如果有更加简便严谨的代码,欢迎贴出来一起参考 1.有搜索结果的截图,判断所用的定位元素 2.无搜索结果的截图,判断布局正确...

网站采集批量查询邮箱

  • 2014-06-02 18:48
  • 1.66MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)