Created
February 4, 2018 16:48
-
-
Save mbdevpl/1d50248492b00257e2ef4733848413af to your computer and use it in GitHub Desktop.
This file contains hidden or 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
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import getpass" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"········\n" | |
] | |
} | |
], | |
"source": [ | |
"api_key = getpass.getpass()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"········\n" | |
] | |
} | |
], | |
"source": [ | |
"cse_id = getpass.getpass()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"from googleapiclient.discovery import build\n", | |
"import pprint" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def google_search(search_term, api_key, cse_id, **kwargs):\n", | |
" service = build(\"customsearch\", \"v1\", developerKey=api_key)\n", | |
" res = service.cse().list(q=search_term, cx=cse_id, **kwargs).execute()\n", | |
" return res" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"results = google_search('stackoverflow site:en.wikipedia.org', api_key, cse_id, num=10)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": { | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"'https://en.wikipedia.org/wiki/Stack_overflow'\n", | |
"'https://en.wikipedia.org/wiki/Stack_overflow_(disambiguation)'\n", | |
"'https://en.wikipedia.org/wiki/Joel_Spolsky'\n", | |
"'https://en.wikipedia.org/wiki/Stack_buffer_overflow'\n", | |
"'https://en.wikipedia.org/wiki/Segmentation_fault'\n", | |
"'https://en.wikipedia.org/wiki/Fog_Creek_Software'\n", | |
"'https://en.wikipedia.org/wiki/Stack_Exchange'\n", | |
"'https://en.wikipedia.org/wiki/Jeff_Atwood'\n", | |
"'https://en.wikipedia.org/wiki/Buffer_overflow'\n", | |
"'https://en.wikipedia.org/wiki/Buffer_overflow_protection'\n" | |
] | |
} | |
], | |
"source": [ | |
"for result in results['items']:\n", | |
" pprint.pprint(result['link'])\n", | |
" #print(i['title'] + \": \" + i['url'])\n", | |
"#pprint.pprint(results)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 40, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"google_search_service = build(\"customsearch\", \"v1\", developerKey=api_key)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 80, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"results = google_search_service.cse().list(q='\"World Wide Fund for Nature\"', cx=cse_id).execute()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 81, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"{'formattedSearchTime': '0.63',\n", | |
" 'formattedTotalResults': '142,000',\n", | |
" 'searchTime': 0.630174,\n", | |
" 'totalResults': '142000'}" | |
] | |
}, | |
"execution_count": 81, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"results[\"searchInformation\"]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 116, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"results = google_search_service.cse().list(q='\"World Wide Fund for Nature\"', cx=cse_id,\n", | |
" cr='countryPL').execute()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 117, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"{'formattedSearchTime': '0.53',\n", | |
" 'formattedTotalResults': '519',\n", | |
" 'searchTime': 0.53247,\n", | |
" 'totalResults': '519'}" | |
] | |
}, | |
"execution_count": 117, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"results[\"searchInformation\"]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 154, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"result_counts = {}" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 157, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"country_code = 'BG'\n", | |
"result_counts[country_code] = {}\n", | |
"for year in range(2000, 2015):\n", | |
" results = google_search_service.cse().list(q='\"World Wide Fund for Nature\"', cx=cse_id,\n", | |
" cr='country{}'.format(country_code), sort='date:r:19900101:{}0101'.format(year)).execute()\n", | |
" result_counts[country_code][year] = int(results[\"searchInformation\"]['totalResults'])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 158, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"{'BG': {2000: 0,\n", | |
" 2001: 0,\n", | |
" 2002: 2,\n", | |
" 2003: 2,\n", | |
" 2004: 4,\n", | |
" 2005: 5,\n", | |
" 2006: 5,\n", | |
" 2007: 9,\n", | |
" 2008: 338,\n", | |
" 2009: 339,\n", | |
" 2010: 305,\n", | |
" 2011: 257,\n", | |
" 2012: 307,\n", | |
" 2013: 265,\n", | |
" 2014: 315},\n", | |
" 'PL': {2000: 0,\n", | |
" 2001: 0,\n", | |
" 2002: 4,\n", | |
" 2003: 5,\n", | |
" 2004: 7,\n", | |
" 2005: 8,\n", | |
" 2006: 10,\n", | |
" 2007: 441,\n", | |
" 2008: 440,\n", | |
" 2009: 438,\n", | |
" 2010: 499,\n", | |
" 2011: 499,\n", | |
" 2012: 495,\n", | |
" 2013: 492,\n", | |
" 2014: 409}}" | |
] | |
}, | |
"execution_count": 158, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"result_counts" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 150, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"results = google_search_service.cse().list(q='\"World Wide Fund for Nature\"', cx=cse_id,\n", | |
" cr='countryPL', sort='date:r:19900101:20000101').execute()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 152, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"'0'" | |
] | |
}, | |
"execution_count": 152, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"int(results[\"searchInformation\"]['totalResults'])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 148, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"results = google_search_service.cse().list(q='\"World Wide Fund for Nature\" daterange:2447893-2451911', cx=cse_id,\n", | |
" cr='countryPL').execute()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 149, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"{'formattedSearchTime': '0.20',\n", | |
" 'formattedTotalResults': '517',\n", | |
" 'searchTime': 0.201784,\n", | |
" 'totalResults': '517'}" | |
] | |
}, | |
"execution_count": 149, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"results[\"searchInformation\"]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 36, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"results = google_search('\"World Wide Fund for Nature\"', api_key, cse_id, num=10, cr='pl', hl='en')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"results = google_search('\"World Wide Fund for Nature\"', api_key, cse_id, num=10, dateRestrict='???', cr='???')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import urllib.parse" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 75, | |
"metadata": { | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"'https://www.google.co.jp/search?q=\"World+Wide+Fund+for+Nature\"&lr=&cr=countryPL&hl=en&as_qdr=all&source=lnt&tbs=ctr:countryPL,cdr:1,cd_min:,cd_max:1/1/2014&tbm='" | |
] | |
}, | |
"execution_count": 75, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"urllib.parse.unquote('https://www.google.co.jp/search?q=%22World+Wide+Fund+for+Nature%22&lr=&cr=countryPL&hl=en&as_qdr=all&source=lnt&tbs=ctr%3AcountryPL%2Ccdr%3A1%2Ccd_min%3A%2Ccd_max%3A1%2F1%2F2014&tbm=')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"'https://www.google.com/search?q=\"World+Wide+Fund+for+Nature\"&lr=&cr=countryPL&hl=en&as_qdr=all&tbs=&tbm='" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"cd_min:,cd_max:1/1/2014" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.6.0" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 1 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment