Created
May 27, 2019 04:49
-
-
Save alucard001/fedce21b80a3de7aa3c07299838e1462 to your computer and use it in GitHub Desktop.
Google Indexing API V3 Working example with Python 3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from oauth2client.service_account import ServiceAccountCredentials | |
import httplib2 | |
import json | |
import pandas as pd | |
# https://developers.google.com/search/apis/indexing-api/v3/prereqs#header_2 | |
JSON_KEY_FILE = "json_key_file_downloaded_after_creating_your_google_service_account_see_above_details_on_how_to_do.json" | |
SCOPES = ["https://www.googleapis.com/auth/indexing"] | |
credentials = ServiceAccountCredentials.from_json_keyfile_name(JSON_KEY_FILE, scopes=SCOPES) | |
http = credentials.authorize(httplib2.Http()) | |
def indexURL(urls, http): | |
# print(type(url)); print("URL: {}".format(url));return; | |
ENDPOINT = "https://indexing.googleapis.com/v3/urlNotifications:publish" | |
for u in urls: | |
# print("U: {} type: {}".format(u, type(u))) | |
content = {} | |
content['url'] = u.strip() | |
content['type'] = "URL_UPDATED" | |
json_ctn = json.dumps(content) | |
# print(json_ctn);return | |
response, content = http.request(ENDPOINT, method="POST", body=json_ctn) | |
result = json.loads(content.decode()) | |
# For debug purpose only | |
if("error" in result): | |
print("Error({} - {}): {}".format(result["error"]["code"], result["error"]["status"], result["error"]["message"])) | |
else: | |
print("urlNotificationMetadata.url: {}".format(result["urlNotificationMetadata"]["url"])) | |
print("urlNotificationMetadata.latestUpdate.url: {}".format(result["urlNotificationMetadata"]["latestUpdate"]["url"])) | |
print("urlNotificationMetadata.latestUpdate.type: {}".format(result["urlNotificationMetadata"]["latestUpdate"]["type"])) | |
print("urlNotificationMetadata.latestUpdate.notifyTime: {}".format(result["urlNotificationMetadata"]["latestUpdate"]["notifyTime"])) | |
""" | |
data.csv has 2 columns: URL and date. | |
I just need the URL column. | |
""" | |
csv = pd.read_csv("my_data.csv") | |
csv[["URL"]].apply(lambda x: indexURL(x, http)) |
I want to remove 404 urls with the help of this code,
plz help how can i do that.
On which line number will the code be edited?
Discover premium vape products at Gleevape, featuring top brands like Elf Bar, Lost Mary, Waka, Zgar, RandM Tornado, Bang, and more. Explore our extensive range of vape pens, accessories, and disposable vape wholesale options, all available at unbeatable prices. Buy vapes in bulk with our wholesale options for disposable vape products, ensuring you have everything you need for a satisfying vaping experience.
I solved this problem after a lot of trial and error.
If you need help with this script, please contact me on telegram.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@weirdbozer found a latest version of this https://pypi.org/project/gsc-bulk-indexer/ you can try it out.