# -*- 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"))
相关推荐
本文将详细介绍如何通过提取 sitemap 中的链接并利用百度、必应和谷歌的 API 自动推送至这些搜索引擎,从而加速网站收录。 首先,我们需要了解什么是 sitemap。sitemap 是一种 XML 文件,它列出了网站的所有重要...
这个Python实现的百度站长自动URL提交小工具综合运用了多种Python编程技巧和网络通信技术,为我们展示了一个实际的自动化任务解决方案。它可以作为一个学习案例,帮助开发者了解如何用Python进行网络交互、数据解析...
- **定时器**:自动提交功能可能涉及到计时器,当达到一定时间或满足特定条件时,自动触发提交操作。 在"pig_hand_bdTestHelper-master"这个文件夹中,我们可以期待找到以下组件: - **manifest.json**:浏览器扩展...
在信息技术领域,翻译API是一种强大的工具,它允许开发者将自动翻译功能集成到他们的应用程序中。"百度翻译 API"是百度公司提供的一个服务,允许开发者利用其先进的自然语言处理技术,实现跨语言的文本翻译。这个API...
这个过程涉及到几个关键知识点,包括 Sitemap 的作用、搜索引擎的工作原理、API 推送以及如何利用百度、必应和谷歌的特定服务来加速网站被搜索引擎收录。 1. **Sitemap**:Sitemap 是一种网站结构的清单,它列出了...
在这个例子中,我们关注的是百度API的OCR服务,它提供了一种高效且准确的方式来识别图像中的文字,这对于处理大量纸质文档、扫描件或者从图片中提取文字信息非常有用。以下是对“百度API OCR文字识别”这一主题的...
学习Selenium Python自动化不仅需要掌握这些基本操作,还需要熟悉各种Web页面元素的定位技巧,理解不同Web页面结构的差异,并且能够编写逻辑清晰、易于维护的测试脚本。此外,随着Web技术的不断进步,Selenium库也会...
《ABAQUS Python二次开发攻略》是一本专为工程师和研究人员设计的指南,旨在帮助他们深入理解并利用Python语言在ABAQUS软件中进行高级模拟和自动化操作。这本书的配套资源包含了各种Python脚本和代码示例,这些资源...
为了自动化这个过程,开发者通常会编写脚本,通常是使用 Python 或 JavaScript 等编程语言,利用百度贴吧的 API 或模拟浏览器行为来完成签到动作。然而,百度贴吧可能对频繁的自动签到有所限制,因此编写这样的脚本...
在本文中,我们将深入探讨如何使用Python调用百度云API进行表格识别。这一技术对于处理大量纸质或图像中的表格数据非常有用,可以帮助自动化数据录入和分析的过程。 首先,我们需要了解调用百度云API的基本步骤: ...
本攻略将深入探讨如何利用Python在ABAQUS环境中实现自动化分析、定制化求解策略以及复杂后处理等功能。 **一、Python在ABAQUS中的角色** 1. **自动化工作流程**:Python脚本可以用来自动化ABAQUS的建模、求解和后...
7. **自动化流程**: 自动回答的脚本通常包含以下步骤:启动浏览器、导航到百度知道页面、登录账号(如果需要)、查找目标问题、生成回答内容、提交回答、关闭浏览器。 8. **异常处理**: 在编写自动化脚本时,必须...
2. **自动化创建模型**:通过编写Python脚本来自动化创建模型,包括几何形状的定义、网格划分、边界条件设定等,显著提高了工作效率。 3. **重复和修改模型**:对于需要多次运行相同或类似分析的情况,可以利用...
通过调用Sqlmap的API,我们可以将自动化安全检测集成到自己的Python项目中。例如,可以创建新的任务,设置任务ID,启动扫描,检查扫描状态,结束任务并获取结果。这极大地方便了批量检测大量URL的SQL注入问题。 ```...
本文将深入探讨如何利用Python实现对公共无线网络的访问,从而实现免费WiFi的获取。虽然标题提到“如何获得免费的WiFi”,但请注意,合法、安全地使用公共网络是至关重要的,切勿违反网络安全法规。 首先,我们要...
此工具可能利用了百度贴吧的API接口或者模拟浏览器行为来实现自动签到。如果是通过API,它会遵循百度提供的编程接口规范,向服务器发送签到请求;若采用模拟浏览器行为的方式,它可能包含网络请求、网页解析、数据...
3. **自动提交答案**:一旦找到答案,Python可以模拟用户点击行为,通过Selenium或PyAutoGUI等库来自动化操作,迅速提交答案。 4. **多线程/异步处理**:为了确保在短时间内完成答题,程序可能采用多线程或多进程...
自动化测试是指利用自动化工具来执行预先设计好的测试用例,并自动记录结果的过程。它可以显著减少重复劳动,提高测试覆盖率,同时还能确保测试的一致性和可重复性。 #### 自动化测试的意义 1. **提高测试效率**:...
Python爬虫是一种使用Python语言编写的程序,它可以模拟人类用户的行为,在网络上进行搜索、获取网络数据等自动化操作。Python因其简洁的语法、强大的第三方库支持,成为了编写爬虫的首选语言之一。 PyQt5是一个跨...