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脚本来查询网站的收录情况了。

posted on 2012-11-14 16:34  alexkh  阅读(1635)  评论(0编辑  收藏  举报