`
aliang1990
  • 浏览: 1990 次
社区版块
存档分类
最新评论

python 自动提交到百度,利用百度API自动提交

阅读更多

 

 

# -*- coding: utf-8 -*-
import json
import os
from time import sleep
from urllib import parse
import schedule
import time
import requests
import re


class Pusher(object):
    def __init__(self):
        print('init_')

    def getSitemapIndex(self, sitemapIndexUrl):
        print('getSitemapIndex:' + sitemapIndexUrl)

        result = requests.get(sitemapIndexUrl)
        print(result)
        # print(result.content)
        sitemapUrls = re.findall('<loc>(.*?)</loc>', result.content.decode('utf-8'), re.S)
        print(sitemapUrls)
        return sitemapUrls

    def getSitemap(self, sitemapUrl):
        print("getSitemap:" + sitemapUrl)
        result = requests.get(sitemapUrl)
        self.urls = re.findall('<loc>(.*?)</loc>', result.content.decode('utf-8'), re.S)
        print(self.urls)

    def postBaidu(self):
        print("postBaidu:=================================")
        header_baidu = {
            "User-Agent": "curl/7.12.1",
            "Host": "data.zz.baidu.com",
            "Content-Type": "text/plain",
            "Content-Length": "83"
        }

        file = open('push_baidu.txt', 'a+')
        file.seek(0, 0)  # 游标移动到第一行,继续读,否则读取到的是空

        content = file.read()
        # self.f.close()
        print("content:" + content)

        for url in self.urls:

            if url in content:
                print("已经推送过:" + url)
                pass
            else:
                try:
                    result = requests.post(push_baidu, data=url, headers=header_baidu)
                    print(url + result.content.decode('utf-8'))
                    if '"success":1' in result.content.decode('utf-8'):
                        file.write(url + '\n')
                        file.flush()

                    if '{"remain":0' in result.content.decode('utf-8'):
                        break
                # break
                except Exception as e:
                    print(e)
                sleep(1)
        file.close()

    def postShenma(self):
        print("postShenma:=================================")
        header_baidu = {
            "User-Agent": "curl/7.12.1",
            "Host": "data.zhanzhang.sm.cn",
            "Content-Type": "text/plain"
        }

        file = open('push_shenma.txt', 'a+')
        file.seek(0, 0)  # 游标移动到第一行,继续读,否则读取到的是空

        content = file.read()
        # self.f.close()
        print("content:" + content)

        data = ''
        for url in self.urls:
            if url in content:
                print("已经推送过:" + url)
                pass
            else:
                data = data + url + '\n'
        try:
            result = requests.post(push_shenma, data=data, headers=header_baidu)
            print("url:" + url)
            print("status_code:" + str(result.status_code))
            print("content:" + result.content.decode('utf-8'))

            if str(result.status_code) == "200":
                content = json.loads(result.content.decode('utf-8'))
                print("returnCode " + str(content['returnCode']))
                if str(content['returnCode']) == "200":
                    file.write(data + '\n')
                    file.flush()
        except Exception as e:
            print(e)
            sleep(1)
        file.close()

    def postSougou(self):
        print("postSougou:=================================")
        header_baidu = {
            "User-Agent": "Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.15",
            "Host": "sogou.com",
            "Content-Type": "application/x-www-form-urlencoded"
        }

        file = open('push_sogou.txt', 'a+')
        file.seek(0, 0)  # 游标移动到第一行,继续读,否则读取到的是空

        content = file.read()
        # self.f.close()
        print("content:" + content)

        for url in self.urls:
            if url in content:
                print("已经推送过:" + url)
                pass
            else:
                try:
                    result = requests.post(push_sogou, data={"source": "1", "site_type": "1",
                                                             "Shoulu": {"webAdr": url, "email": "932888148@qq.com",
                                                                        "reason": "网站收录不正常,恳请收录!"}},
                                           headers=header_baidu)
                    print(url + result.content.decode('utf-8'))
                except Exception as e:
                    print(e)
                sleep(1)
        file.close()

    def get360Token(self, url, key):
        n = list(url)
        n.reverse()
        r = list(key)
        i = []
        # for ($s=0, $o=16;$s < $o;$s++)
        for s in range(0, 16):
            if n[s] is None:
                i.append(r[s])
            else:
                i.append(r[s] + n[s])
        return ''.join(i)

   
    def run(self, sitemapUrl):
        self.getSitemap(sitemapUrl)
        self.postBaidu()

urlSitemap = ''  # Your sitemap url, like 'http://blog.kxrr.us/index.php/sitemap'
urlPost = ''  # Your Baidu API, like 'http://data.zz.baidu.com/urls?site=blog.kxrr.us&token=xxxxxxxxxxxx'

push_baidu = 'http://data.zz.baidu.com/urls?site=meishih.com&token='


# 定义你要周期运行的函数
def job():
    print("I'm working...")
    pusher = Pusher()
    sitemapUrls = pusher.getSitemapIndex("http://meishih.com/sitemap_index.xml")
    for sitemapUrl in sitemapUrls:
        pusher.run(sitemapUrl)


schedule.every().day.at("17:32").do(job)  # 每天在 10:30 时间点运行 job 函数

if __name__ == '__main__':
    # while True:
    #     schedule.run_pending()  # 运行所有可以运行的任务
    #     time.sleep(10)
    job()
 # pusher = Pusher()
    # pusher.postBingQuota()
    # pusher.getSitemapIndex('meishih.com/sitempa_index.xml')
    # print(pusher.get360Token("http://meishih.com/", "d182b3f28525f2db83acfaaf6e696db"))
 
# pusher = Pusher() # pusher.postBingQuota() # pusher.getSitemapIndex('meishih.com/sitempa_index.xml') # print(pusher.get360Token("http://meishih.com/", "d182b3f28525f2db83acfaaf6e696db"))
0
1
分享到:
评论

相关推荐

    提取 sitemap 中的链接,利用百度、必应、谷歌 API 自动 推送至搜索引擎,提升网站收录速度

    本文将详细介绍如何通过提取 sitemap 中的链接并利用百度、必应和谷歌的 API 自动推送至这些搜索引擎,从而加速网站收录。 首先,我们需要了解什么是 sitemap。sitemap 是一种 XML 文件,它列出了网站的所有重要...

    Python实现的百度站长自动URL提交小工具.pdf

    这个Python实现的百度站长自动URL提交小工具综合运用了多种Python编程技巧和网络通信技术,为我们展示了一个实际的自动化任务解决方案。它可以作为一个学习案例,帮助开发者了解如何用Python进行网络交互、数据解析...

    Python-百度众测快速判断快速答题插件

    - **定时器**:自动提交功能可能涉及到计时器,当达到一定时间或满足特定条件时,自动触发提交操作。 在"pig_hand_bdTestHelper-master"这个文件夹中,我们可以期待找到以下组件: - **manifest.json**:浏览器扩展...

    百度翻译 API

    在信息技术领域,翻译API是一种强大的工具,它允许开发者将自动翻译功能集成到他们的应用程序中。"百度翻译 API"是百度公司提供的一个服务,允许开发者利用其先进的自然语言处理技术,实现跨语言的文本翻译。这个API...

    提取 sitemap 中的链接,利用百度、必应、谷歌 API 自动推送至搜索引擎,提升网站收录速度

    这个过程涉及到几个关键知识点,包括 Sitemap 的作用、搜索引擎的工作原理、API 推送以及如何利用百度、必应和谷歌的特定服务来加速网站被搜索引擎收录。 1. **Sitemap**:Sitemap 是一种网站结构的清单,它列出了...

    百度API OCR文字识别

    在这个例子中,我们关注的是百度API的OCR服务,它提供了一种高效且准确的方式来识别图像中的文字,这对于处理大量纸质文档、扫描件或者从图片中提取文字信息非常有用。以下是对“百度API OCR文字识别”这一主题的...

    selenium python 自动化

    学习Selenium Python自动化不仅需要掌握这些基本操作,还需要熟悉各种Web页面元素的定位技巧,理解不同Web页面结构的差异,并且能够编写逻辑清晰、易于维护的测试脚本。此外,随着Web技术的不断进步,Selenium库也会...

    ABAQUS Python二次开发攻略-配书资源code_python_pythonabaqus_Abaquspython二次开

    《ABAQUS Python二次开发攻略》是一本专为工程师和研究人员设计的指南,旨在帮助他们深入理解并利用Python语言在ABAQUS软件中进行高级模拟和自动化操作。这本书的配套资源包含了各种Python脚本和代码示例,这些资源...

    利用github actions实现百度贴吧自动签到脚本,每日自动签到,获得8点经验。.zip

    为了自动化这个过程,开发者通常会编写脚本,通常是使用 Python 或 JavaScript 等编程语言,利用百度贴吧的 API 或模拟浏览器行为来完成签到动作。然而,百度贴吧可能对频繁的自动签到有所限制,因此编写这样的脚本...

    Python调用百度云API识别表格识别

    在本文中,我们将深入探讨如何使用Python调用百度云API进行表格识别。这一技术对于处理大量纸质或图像中的表格数据非常有用,可以帮助自动化数据录入和分析的过程。 首先,我们需要了解调用百度云API的基本步骤: ...

    ABAQUS Python 二次开发攻略.zip

    本攻略将深入探讨如何利用Python在ABAQUS环境中实现自动化分析、定制化求解策略以及复杂后处理等功能。 **一、Python在ABAQUS中的角色** 1. **自动化工作流程**:Python脚本可以用来自动化ABAQUS的建模、求解和后...

    Python files.rar

    7. **自动化流程**: 自动回答的脚本通常包含以下步骤:启动浏览器、导航到百度知道页面、登录账号(如果需要)、查找目标问题、生成回答内容、提交回答、关闭浏览器。 8. **异常处理**: 在编写自动化脚本时,必须...

    基于python的ABAQUS二次开发方法与应用

    2. **自动化创建模型**:通过编写Python脚本来自动化创建模型,包括几何形状的定义、网格划分、边界条件设定等,显著提高了工作效率。 3. **重复和修改模型**:对于需要多次运行相同或类似分析的情况,可以利用...

    第79天:Python开发-sqlmapapi&Tamper&Pocsuite1

    通过调用Sqlmap的API,我们可以将自动化安全检测集成到自己的Python项目中。例如,可以创建新的任务,设置任务ID,启动扫描,检查扫描状态,结束任务并获取结果。这极大地方便了批量检测大量URL的SQL注入问题。 ```...

    Python-如何获得免费的wifi

    本文将深入探讨如何利用Python实现对公共无线网络的访问,从而实现免费WiFi的获取。虽然标题提到“如何获得免费的WiFi”,但请注意,合法、安全地使用公共网络是至关重要的,切勿违反网络安全法规。 首先,我们要...

    百度贴吧一键签到

    此工具可能利用了百度贴吧的API接口或者模拟浏览器行为来实现自动签到。如果是通过API,它会遵循百度提供的编程接口规范,向服务器发送签到请求;若采用模拟浏览器行为的方式,它可能包含网络请求、网页解析、数据...

    Python-百万英雄冲顶大会芝士超人答题助手

    3. **自动提交答案**:一旦找到答案,Python可以模拟用户点击行为,通过Selenium或PyAutoGUI等库来自动化操作,迅速提交答案。 4. **多线程/异步处理**:为了确保在短时间内完成答题,程序可能采用多线程或多进程...

    自动化分享

    自动化测试是指利用自动化工具来执行预先设计好的测试用例,并自动记录结果的过程。它可以显著减少重复劳动,提高测试覆盖率,同时还能确保测试的一致性和可重复性。 #### 自动化测试的意义 1. **提高测试效率**:...

    python 爬虫百度地图的信息界面的实现方法

    Python爬虫是一种使用Python语言编写的程序,它可以模拟人类用户的行为,在网络上进行搜索、获取网络数据等自动化操作。Python因其简洁的语法、强大的第三方库支持,成为了编写爬虫的首选语言之一。 PyQt5是一个跨...

Global site tag (gtag.js) - Google Analytics