zoukankan      html  css  js  c++  java
  • Python批量查询网站收录

    本文转自贾定强的博客,稳重链接都没去掉。http://www.jiadingqiang.com/python%E6%89%B9%E9%87%8F%E6%9F%A5%E8%AF%A2%E7%BD%91%E7%AB%99%E6%94%B6%E5%BD%95/

    网站收录是网站seo优化的第一步,只有有了收录才有可能获得排名,进而获得流量。今天跟大家分享一个批量查询网站收录情况的python脚本。

    import random
    import time
    from win32com.client import Dispatch
    
    urlFileName = "urlFile.txt"
    outputFileName = "result.txt"
    minWaitTime = 1
    maxWaitTime = 15
    
    outputFile = open(outputFileName, 'w')
    
    ie = Dispatch("InternetExplorer.Application")
    ie.visible = 1
    
    baseUrl = 'http://www.google.com'
    
    ie.navigate('http://www.google.com')
    
    while (ie.ReadyState != 4):
        time.sleep(1)
    
    print '页面载入完结'
    
    with open(urlFileName) as urlFile:
        for url in urlFile:
            # 这个是页面是下一次请求等待的时间,
            # 你可以修改上面minWaitTime和maxWaitTime的值来设置等待时间.
            # 下面的time.sleep(1)不是请求之间的等待时间
            waitTime = random.randint(minWaitTime, maxWaitTime)
            time.sleep(waitTime)
    
            url = url.strip()
            while(True):
                try:
                    ie.Document.forms[0].elements["q"].value="site:" + url
                    ie.Document.forms[0].submit()
    
                    # 这个地方以前有错误是因为url里面有斜线,我测试的时候没有测试到
                    # 斜线要换成%2F,分号要换成%3A,如果还有其它的特殊字符也还要换。
                    checkUrl = url.replace('/', '%2F')
                    checkUrl = checkUrl.replace(':', '%3A')
                    checkUrl = checkUrl.replace('?', '%3F')
                    checkUrl = checkUrl.replace('=', '%3D')
    
                    while (ie.ReadyState != 4 or str(ie.LocationURL).find(checkUrl) == -1):
                        # print str(ie.LocationURL)
                        time.sleep(1)
    
                    result = ie.Document.getElementById("ires").innerHTML
    
                    if len(result)>0:
                        print url, "recored"
                        outputFile.write(url + ":recored\n")
                    else:
                        print url, "not recored"
                        outputFile.write(url + ":not recored\n")
    
                    break
                except:
                    time.sleep(60)
                    ie.navigate(baseUrl)
    
    outputFile.close()
    

      

    使用方法:在配置完python的运行环境,并安装了win32com包之后,在与脚本同目录下放一个urlFile.txt文件,里面每行放一个你要查询的网址,然后运行程序就可以查询urlFile.txt文件里所有网址的收录情况了。

    如果你想查询一个比较小型的网站的收录情况的话,你可以用sitemap生成工具生成网站的sitemap,或者直接使用网站根目录下的sitemap.xml,然后用excel或其他工具将sitemap中的网址提取出来,放在urlFile.txt文件中,就可以用这个简单的python脚本来查询网站的收录情况了。

  • 相关阅读:
    CentOS7下安装Docker-Compose
    USDT(omniCore)测试环境搭建
    Centos中iptables和firewall防火墙开启、关闭、查看状态、基本设置等
    Docker导入导出镜像
    Linux下安装GO语言环境
    linux 查看磁盘空间大小
    rsync+sersync多线程实时同步
    rsync+inotify实时同步
    rsync高级同步
    NFS服务器
  • 原文地址:https://www.cnblogs.com/alexkh/p/2770157.html
Copyright © 2011-2022 走看看