zoukankan      html  css  js  c++  java
  • python开发全自动网站链接主动提交百度工具

        自己网站因数据比较多,趁晚上没事就写了一个通过python爬取url自动提交给百度,实现网站全站提交的思路,代码实现很简单,因为编写时间仓储,难免有些bug,可以放在服务器上配置下定时爬取提交。

         

    import os  
    import re  
    import shutil  
      
    REJECT_FILETYPE = 'rar,7z,css,js,jpg,jpeg,gif,bmp,png,swf,exe' #定义爬虫过程中不下载的文件类型
      
    def getinfo(webaddress):   #'#通过用户输入的网址连接上网络协议,得到URL我这里是我自己的域名
        global REJECT_FILETYPE  
        url = 'http://'+webaddress+'/'  #网址的url地址
        print 'Getting>>>>> '+url
        websitefilepath = os.path.abspath('.')+'/'+webaddress   #通过函数os.path.abspath得到当前程序所在的绝对路径,然后搭配用户所输入的网址得到用于存储下载网页的文件夹  
        if os.path.exists(websitefilepath):   #如果此文件夹已经存在就将其删除,原因是如果它存在,那么爬虫将不成功  
            shutil.rmtree(websitefilepath)     #shutil.rmtree函数用于删除文件夹(其中含有文件) 
        outputfilepath = os.path.abspath('.')+'/'+'output.txt'   #在当前文件夹下创建一个过渡性质的文件output.txt  
        fobj = open(outputfilepath,'w+')  
        command = 'wget -r -m -nv --reject='+REJECT_FILETYPE+' -o '+outputfilepath+' '+url  #利用wget命令爬取网站
        tmp0 = os.popen(command).readlines()  #函数os.popen执行命令并且将运行结果存储在变量tmp0中
        print >> fobj,tmp0  #写入output.txt中  
        allinfo = fobj.read()
        target_url = re.compile(r'".*?"',re.DOTALL).findall(allinfo)  #通过正则表达式筛选出得到的网址 
        print  target_url
        target_num = len(target_url)  
        fobj1 = open('result.txt','w')     #在本目录下创建一个result.txt文件,里面存储最终得到的内容
        for i in range(target_num):
            if len(target_url[i][1:-1])<70:   # 这个target_url 是一个字典形式的,如果url 长度大于70 就不会记录到里面
               print >> fobj1,target_url[i][1:-1]     #写入到文件中
            else:  
              print "NO"
        fobj.close()  
        fobj1.close()  
        if os.path.exists(outputfilepath):  #将过渡文件output.txt删除  
            os.remove(outputfilepath)  #删除
       
    if __name__=="__main__":  
        webaddress = raw_input("Input the Website Address(without "http:")>")  
        getinfo(webaddress)  
        print "Well Done."
    

      然后进入百度主动提交栏目,找到api接口,提交下数据即可

  • 相关阅读:
    mvc
    拦截器
    使用HttpWebRequest和HtmlAgilityPack抓取网页(拒绝乱码,拒绝正则表达式)
    编译和解释的区别是什么?
    15 个最佳的 jQuery 表格插件
    编程小白必备——主流语言C语言知识点
    妹子找你修电脑,按照这几步操作,你就是黑客大佬!
    网络管理监视很重要!学编程的你知道哪些不错的网络监控工具?2020 最好的Linux网络监控工具分享给你
    为什么程序员要跳槽,钱并非第一位
    代码编写行为准则,编码是一个认真思考的过程,如何有效提高代码的可读性?
  • 原文地址:https://www.cnblogs.com/68xi/p/9348357.html
Copyright © 2011-2022 走看看