VBA - Number of Google News Search Results

VBA - Number of Google News Search Results

By : Jim Primrose
Date : November 20 2020, 07:00 PM
I think the issue was by ths following , Best option (IMO) is to use the Google News API and register for an API key. You can then use a queryString including your search term and parse the JSON response to get the result count. I do that below and also populate a collection with the article titles and links. I use a JSON parser called JSONConverter.bas which you download and add to your project. You can then go to VBE > Tools > References > add a reference to Microsoft Scripting Runtime.
code :
Option Explicit

Public Sub GetStories()
    Dim articles As Collection, article As Object
    Dim searchTerm As String, finalResults As Collection, json As Object, arr(0 To 1)
    Set finalResults = New Collection
    searchTerm = "Obama"

    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", "https://newsapi.org/v2/everything?q=" & searchTerm & "&apiKey=yourAPIkey", False
        .setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
        Set json = JsonConverter.ParseJson(.responseText)
    End With

    Debug.Print "total results = " & json("totalResults")

    Set articles = json("articles")
    For Each article In articles
       arr(0) = article("title")
       arr(1) = article("url")
       finalResults.Add arr

    Stop '<== Delete me later

End Sub
Option Explicit   
Private http As Object

Private Sub Class_Initialize()
    Set http = CreateObject("MSXML2.XMLHTTP")
End Sub

Public Function GetString(ByVal url As String) As String
    With http
        .Open "GET", url, False
        .setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
        GetString = .responseText
    End With
End Function

Public Function GetInfo(ByVal json As Object) As Variant
    Dim results(), counter As Long, finalResults(0 To 1), articles As Object, article As Object

    finalResults(0) = json("totalResults")
    Set articles = json("articles")

    ReDim results(1 To articles.Count, 1 To 2)

    For Each article In articles
        counter = counter + 1
        results(counter, 1) = article("title")
        results(counter, 2) = article("url")

    finalResults(1) = results
    GetInfo = finalResults
End Function
Option Explicit

Public Sub GetStories()
    Dim http As clsHTTP, json As Object
    Dim finalResults(), searchTerms(), searchTerm As Long, url As String
    Set http = New clsHTTP

    With ThisWorkbook.Worksheets("Sheet1")
        searchTerms = Application.Transpose(.Range("A1:A2")) '<== Change to appropriate range containing search terms
    End With

    ReDim finalResults(1 To UBound(searchTerms))

    For searchTerm = LBound(searchTerms, 1) To UBound(searchTerms, 1)

        url = "https://newsapi.org/v2/everything?q=" & searchTerms(searchTerm) & "&apiKey=yourAPIkey"

        Set json = JsonConverter.ParseJson(http.GetString(url))

        finalResults(searchTerm) = http.GetInfo(json)

        Set json = Nothing


    Stop '<==Delete me later
End Sub

Option Explicit

Public Sub GetStories()
    Dim sResponse As String, html As HTMLDocument, articles As Collection
    Const BASE_URL As String = "https://news.google.com/"
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", "https://news.google.com/topics/CAAqIggKIhxDQkFTRHdvSkwyMHZNRGxqTjNjd0VnSmxiaWdBUAE?hl=en-US&gl=US&ceid=US:en", False
        .setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
        sResponse = StrConv(.responseBody, vbUnicode)
    End With
    Set html = New HTMLDocument: Set articles = New Collection
    Dim numberOfStories As Long, nodeList As Object, i As Long
    With html
        .body.innerHTML = sResponse
        Set nodeList = .querySelectorAll(".VDXfz")
        numberOfStories = nodeList.Length
        Debug.Print "number of stories = " & numberOfStories
        For i = 0 To nodeList.Length - 1
            articles.Add Replace$(Replace$(nodeList.item(i).href, "./", BASE_URL), "about:", vbNullString)
    End With
    Debug.Print articles.Count
End Sub
Option Explicit
Public Sub GetResultsCount()
    Dim sResponse As String, html As HTMLDocument
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", "https://www.google.com/search?q=mitsubishi", False
        .setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
        sResponse = StrConv(.responseBody, vbUnicode)
    End With
    Set html = New HTMLDocument
    With html
        .body.innerHTML = sResponse
        Debug.Print .querySelector("#resultStats").innerText
    End With

End Sub

Share : facebook icon twitter icon
How I can see all my last site contents (news) in Google search results?

How I can see all my last site contents (news) in Google search results?

By : Usep Setiadi
Date : March 29 2020, 07:55 AM
To fix this issue You will have to read about and address Google's Crawler frequency criteria:
You can read the article here: https://support.google.com/news/publisher/answer/40392?hl=en
ngResource search google news, but return results: Array[0]

ngResource search google news, but return results: Array[0]

By : user2311454
Date : March 29 2020, 07:55 AM
Any of those help You have to use JSONP when making a request to an external domain and it seems the googleapis also support the JSONP.
You could change your $resource to use JSONP instead like this:
code :
.factory('newsResource', function($resource) {
  return $resource('http://ajax.googleapis.com/ajax/services/search/news?v=1.0&q=%E6%96%B0%E8%81%9E', {}, {
    get: {
      method: 'JSONP',
      params: { callback: 'JSON_CALLBACK' }
Google Maps API Places Search get number of search results

Google Maps API Places Search get number of search results

By : Joe Salim
Date : March 29 2020, 07:55 AM
wish helps you I have implemented a sample using Places Search of Google Maps API. I would like to fetch the number of results I am fetching. New to Google Maps API. How do I achieve this? , Replace your callback with this:
code :
function callback(results, status) {
  if (status == google.maps.places.PlacesServiceStatus.OK) {
    // Just count the number of results passed to your callback
    var numResults = results.length;

    for (var i = 0; i < results.length; i++) {
Get number of results on Google search results in Python 3

Get number of results on Google search results in Python 3

By : Yousef M Abuzed
Date : March 29 2020, 07:55 AM
To fix the issue you can do response in your get_results() function is None because the request to Google returned an error page so the div you are looking for does not exist. You should check for a successful response status before trying to parse the results.
old news articles scarping from google search results

old news articles scarping from google search results

By : Ram Prasad
Date : March 29 2020, 07:55 AM
To fix the issue you can do There was an issue in the way you were sending requests.
You sending requests using a list of urls instead of urls.
code :
from bs4 import BeautifulSoup
import requests

base_query = 'inurl:www.bbc.com/urdu/pakistan'
base = "http://www.bbc.com.pk/"
google_search_url = 'https://www.google.com.pk/search?q=inurl:www.bbc.com/urdu/pakistan&filter=0&biw=1366&bih=638'
resp = requests.get(google_search_url)
soup = BeautifulSoup(resp.text, "html.parser")
url = []
to_crawl_urls = set()

visited = [] # to check if page was already visited
visited = ["http://www.bbc.com.pk/"]
for cite in soup.find_all('cite'):
    url .append(cite.text)

# skip urls already visited
if url in visited or url == google_search_url:
    print('... skiping:', url)

# remember new page as visited

print("loading:", url)

for i in url:
    subpage = requests.get('http://' + i)
    subsoup = BeautifulSoup(subpage.text, "html.parser")
    # find div with text
    for story_body in subsoup.find_all('div', class_='story-body'):
            # find title
            h1 = story_body.find('h1', class_='story-body__h1')
            if h1:
                print('title:', story_body.find('h1', class_='story-body__h1').get_text(strip=True))
                # find div with paragraphs
                div = story_body.find('div', class_='story-body__inner')
                # find all paragraphs in dive
                for p in div.find_all('p'):
title: تف ہے ایسی جمہوریت پر!
کچھ ممالک اور ان کے رہنما ایک عجب مرض میں مبتلا ہیں۔ یعنی بات بات پر ریفرنڈم اور انتخابات کی جانب بھاگنے کا مرض۔ سوئٹزر لینڈ  کا تو یہ حال ہے کہ اگر چند لاکھ لوگ اس یاداشت پر بھی دستخط کر دیں کہ انہیں چھینک لینے کے لیے اوپر کے بجائے نیچے دیکھنے کا اختیار چاہیے تو اس پر بھی ریفرنڈم ہو جاتا ہے۔
برطانیہ میں ڈیوڈ کیمرون کو نہ آئین نے مجبور کیا تھا اور نہ ہی پارلیمنٹ نے کہ وہ یورپی یونین میں رہنے یا نکلنے کے سوال پر ریفرنڈم کروائیں۔ مگر بھولے ڈیوڈ نے چونکہ انتخابی مہم کے دوران جیتنے کے حربے کے طور پر بریگزٹ کے بارے میں عوامی رائے لینے کا وعدہ کر لیا تھا۔ کوئی بتانے والا نہیں تھا کہ میاں ڈیوڈ ایسے سیاستیں نہیں ہوتیں۔ ایک انتخابی وعدے کی اوقات ہی کیا ہے۔ وعدے قرآن و حدیث تھوڑا ہیں۔ مگر نہیں صاحب بریگزٹ کروا کے ہی دم لیا اور اب آدھے برطانوی رو رہے ہیں۔
تاج محل اور ٹرک کی بتی
کچی عمر کا حسن
رہے گا نہ یہ جاہل کا جاہل!
اور یہ سپین میں کیا ہو رہا ہے؟ کاتالونیا میں ملک سے علیحدگی کے سوال پر ریفرنڈم کے نتائج سامنے آنے کے بعد چھتر پھیرنے کا کیا فائدہ؟ ان سے پہلے ہی سختی سے نمٹنا چاہیے تھا۔ لیکن اب بھی وقت ہے۔ سری لنکا، بھارت، پاکستان، ترکی، اسرائیل یا روس وغیرہ کی مشاورت و چھترولی مہارت کاتالونیا کو قابو میں رکھنے کے لیے استعمال کرنے میں کوئی حرج نہیں۔ بعض اوقات ڈاکٹر بدلنے سے بھی افاقہ ہو جاتا ہے۔
سب سے زیادہ ہنسی جاپان پر آتی ہے۔ کوئی ان بے وقوفوں کو بتانے والا نہیں کہ انتخابی عمل ٹشو پیپر نہیں ہوتا کہ جب چاہا استعمال کر لیا۔ دوسری عالمی جنگ کے دوران جاپانیوں نے چلتی لڑائی میں سات اور جنگِ عظیم کے خاتمے سے اب تک 35 وزیرِ اعظم بدلے۔ ان میں سے موجودہ وزیرِ اعظم شنزو آبے سمیت بس پانچ ایسے ہیں جنھوں نے اپنی مدتِ اقتدار مکمل کی۔ لگتا ہے جاپانی زبان میں یہ جملہ ہے ہی نہیں 'مجھے کیوں نکالا‘۔
حالانکہ 11 سابق جاپانی وزرائےاعظم آج بھی زندہ ہیں۔ ملک آج بھی تیسری بڑی اقتصادی سپر پاور ہے۔ پر شوقِ انتخابات بچپنے کی حد تک جواں ہے۔
اب پچھلے سات برس سے اچھے بھلے حکومت چلانے والے شنزو آبے کو اچانک تیسری بار درمیانی مدت کے انتخابات جیتنے کا شوق چرایا ہے اور بہانہ یہ تراشا کہ شمالی کوریا سے لاحق حظرے سے نمٹنے کے لیے نیا مینڈیٹ لینا ضروری ہے۔
پیرانِ سیاست کے پیر
بڑے ہو کے کیا بنو گے؟
گلاب جامن اور سانولی لڑکیاں
ہاں بھئی یہ مٹھی بھر ممالک ایسی پیٹ بھرے کی عیاشیاں کر سکتے ہیں کیونکہ ان کے ہاں انتخابات کے ساتھ صاف و شفاف کا لاحقہ لگانے کا رواج نہیں۔ یہ فقرے بھی سننے کو نہیں ملتے کہ حکومت خیرات میں نہیں عوام کے ووٹوں سے ملی ہے لہذا ہر حال میں مدتِ اقتدار پوری کرے گی۔ ان پیٹ بھرے جمہوری ممالک میں استعفیٰ بھی بہانے بہانے دیا جاتا ہے، لیا نہیں جاتا کیونکہ اہلِ سیاست کو یہ خوف نہیں ہوتا کہ اگلی بار اقتدار کا منہ دیکھنا نصیب ہوگا بھی کہ نہیں۔ اسی لیے ان کے ہاں حکومتیں بالک ہٹ پر اڑنے کے بجائے خود ہی ہٹ جاتی ہیں ہٹائی نہیں جاتیں۔
یقیناً ان مٹھی بھر جمہوری ممالک میں بھی جوڑ توڑ، مار کٹائی اور سازشیں ہوتی ہیں مگر پارلیمنٹ کے اندر ہی اندر۔ ان کی ڈکشنریوں میں بھی اسٹیبلشمنٹ کی اصطلاح ہے مگر مراد بادشاہ گر ٹولہ نہیں بلکہ ماتحت بیورو کریسی ہے۔
ان کے ہاں بھی فوج ہے مگر عام آدمی اپنے انتخابی حلقے سے ہارنے یا جیتنے والے کا تو نام جانتا ہے فوج کے سربراہ کا نام نہیں جانتا۔ ان کے ہاں بھی اعلیٰ عدالتیں اور اعلیٰ جج ہیں مگر صرف وکیل برادری ہی ان کے ناموں سے واقف ہوتی ہے۔ اسی لیے ان ممالک کا میڈیا انتہائی بور اور تھکا ہوا ہے۔
ایسے بے نمک ماحول میں شنزو آبے کی جگہ شیدا مکینک بھی ہوتا تو مڈٹرم الیکشن جیت لیتا۔ پر یہ کیسی ابلی ہوئی جمہوریت ہے؟ نہ دھرنا، نہ سازش، نہ عدالتی کارروائیوں کی پل پل مصالحے دار خبریں، نہ ایک دوسرے  کے طفلی، خاندانی، اخلاقی راز اور لغتِ دشنام بھرے بازار میں کھولنا۔۔۔
نہ طلال، نہ فواد، نہ نثار، نہ آئی ایس پی آر، نہ اپنے اپنے آئینی دائرے یا ریاستی رٹ کی بحث، نہ اپنی یا غیر ایجنسیوں کی کارستانیوں کا تذکرہ۔ حتیٰ کہ 'ایک صفحے پر ہونے' کی اصطلاح تک نہیں۔ تو پھر لوکی کی جمہوریت؟ بے ذائقہ، بے رنگ، بے بو ۔۔۔
ایسی جمہوریت تو ہمارے ہاں ہر قبرستان میں ہوتی ہے۔ تف ہے۔۔۔
title: ’پاکستان واقعی ایک حیران کن ملک ہے‘
امریکی شہری کیسنڈرا ڈی پیکول تن تنہا دنیا کے سفر پر ہیں اور 190 ممالک کا سفر طے کرنے بعد وہ پاکستان پہنچی ہیں اور ان کا کہنا ہے کہ 'پاکستان ایک چھپا ہوا جوہر ہے جس کی خوبصورتی تاحال دنیا کے سامنے نہیں آسکی‘۔
27 سالہ امریکی خاتون کیسنڈرا ڈی پیکول نے 15 جولائی 2015 کو دنیا کے تمام 196 خودمختار ممالک دیکھنے کے لیے اپنے سفر کا آغاز کیا تھا۔
ان کا پہلا پڑاؤ مغربی بحرالکاہل کے ایک چھوٹے سے ملک پلاؤ میں ہوا اور ان کا سفر مسلسل جاری رہا اور 190 ممالک کا سفر کرنے کے بعد وہ پاکستان پہنچیں۔
ان کا مقصد کم از کم وقت میں تمام ممالک کا سفر کرکے گینس بک آف ورلڈ ریکارڈ میں اپنا نام شامل کرنا اور دنیا کو  سیاحت کے لیے پرامن اور اس شعبے کو مستحکم بنانے کا پیغام دینا ہے۔
اسلام آباد میں بی بی سی اردو سے بات کرتے ہوئے ان کا کہنا تھا کہ 'پاکستان آنے سے قبل ان کے کچھ خدشات تھے جو اب دور ہوچکے ہیں اور وہ دوبارہ یہاں آنا چاہیں گی۔'
'دنیا کے 190 ممالک گھومنے کے بعد میں کہہ سکتی ہوں کہ جن تین ممالک نے مجھے سب سے زیادہ متاثر کیا ان پاکستان، اومان اور بھوٹان سرفہرست ہیں۔'
کیسنڈرا  کا کہنا تھا کہ انھوں نے نومنتخب امریکی صدر ڈونلڈ ٹرمپ کا پاکستان کے حوالے سے حالیہ بیان نہیں سنا لیکن ان کا ذاتی تجربہ ہے کہ 'پاکستان واقعی ایک حیران کن ملک ہے مجھے اندازہ نہیں تھا کہ یہاں کے لوگ اور یہاں کی ثقافت انتہائی خوبصورت ہے۔'
کیسنڈرا ڈی پیکول کا کہنا ہے کہ ان کا مقصد تمام دنیا میں امن کا پیغام پہنچانا ہے۔ وہ ایک مسافر بھی ہیں اور سیاحت و سفر کے حوالے سے نوجوانوں کو تربیت اور رہنمائی بھی فراہم کرتی ہیں۔
وہ کہتی ہیں کہ 'پاکستان آنے سے پہلے میں نے اس ملک کے بارے میں بہت کچھ پڑھا اور تحقیق کی لیکن جو کچھ میڈیا دکھاتا ہے پاکستان اس کے بالکل برعکس ہے۔'
ان کا کہنا تھا کہ 'میں نے اپنا برقع اور عبایا بھی ساتھ رکھا ہوا تھا کہ پاکستان میں اس کی ضرورت ہوگی لیکن ابھی تک اس کی ضرورت پیش نہیں ہے۔'
پاکستانی خواتین کے بارے میں ان کا کہنا تھا کہ 'پاکستان میں قیام کے دوران میں بہت سی نوجوان خواتین سے ملی اور مجھے ان کی قابلیت اور اعتماد دیکھ کر بہت اچھا محسوس ہوا۔'
کیسنڈرا  نے اس خواہش کا اظہار کیا کہ پاکستان کی شمالی علاقہ جات اور چھوٹے شہروں اور قصبوں کو دیکھنا چاہتی ہیں لیکن اس بار یہ ممکن نہیں ہو سکا۔ ان کا کہنا تھا کہ وہ بہت جلد پاکستان دوبارہ آئیں گی اور اپنی یہ تمنا پوری کریں گی۔
پاکستان میں ان کا قیام  کراچی، لاہور اور پھر اسلام آباد میں رہا جہاں یونیورسٹی اور کالجوں کے طالب علموں کے ساتھ انھوں نے مختلف مذاکروں میں حصہ لیا اور انھیں بتایا کہ کیسے اپنے ملک کو اچھے انداز میں پیش کیا جاسکتا اور ایک کامیاب سیاحتی لکھاری بننے کے لیے کیا کچھ کیا جاسکتا ہے۔
ان کا کہنا تھا کہ انھوں نے انڈیا کا بھی سفر کیا ہے اور انھوں نے پاکستان کو انڈیا کی ثقافت، رنگ اور انداز زندگی کو بہت مخلتف پایا۔
انھوں نے بتایا کہ بلاشبہ سیاحت ایک مہنگا شعبہ ہے لیکن آپ پیسے بچاتے ہوئے بھی کئی نئی جگہوں کی سیر کرسکتے ہیں۔
'ایسا نہیں ہے کہ آپ جہاں جائیں بڑے بڑے ہوٹلوں میں رہیں یا پرآسائش گاڑیوں میں سفر کریں۔ آپ ضرورت کے مطابق کسی کم قیمت جگہ پر قیام کر سکتے، وہی کھا سکتے ہیں جو وہاں عام لوگ کھاتے ہیں، ویسے ہی سفر کر سکتے ہیں جیسے مقامی عام لوگ کرتے ہیں۔'
اپنے تجربات بیان کرتے ہوئے ان کا کہنا تھا کہ انھوں نے تقریبا 25 ممالک کا دورہ صرف 2000 ڈالر میں کیا۔ اس دوران وہ ٹرین سٹیشنوں پر سوئیں، بغیر کھائے پیے رہیں اور 'ہچ ہائیکنگ' کرتی ہوئی مشرق وسطیٰ، افریقہ، جنوبی امریکہ اور ایشیا میں گھومیں۔
ان کا کہنا تھا کہ سوشل میڈیا کے ذریعے اب نوجوان بلاگروں اور سیاحت کے حوالے سے لکھنے والوں کے لیے بہت سے دروازے کھل گئے ہیں جن کا بھرپور استعمال کیا جا سکتا ہے۔
کیسنڈرا کا کہنا تھا کہ ان کا اگلی منزل افریقی ملک ارٹیریا ہے اور وہ جلد جنگ زدہ یمن کے سفر پر ہوں گی۔
Related Posts Related Posts :
  • CSS DIV not expanding when more text is added
  • Are you familiar with <ins> tag in html?
  • HTML - decrease page size
  • WYSIWYG browser editor that generates *good* HTML?
  • Absolute positioning in IE6, using left: 0; and right: 0; simultaneously
  • How can I find out why a website looks different when I upload it to IIS?
  • Flash movies in inactive browser tabs pause or don't execute in real time
  • How to send HTML email using linux command line
  • Location of code when sending HTML Email
  • CSS challenge: Two background images, centered column with fixed with, min-height 100%
  • Open Dropdown with hover and close menu when click a link
  • What about WebSafe colors
  • Justified navigation buttons
  • IE8 opacity activex problem
  • Type attribute for text_field
  • How can I make my users automatically download the font I use for my website if they don't have it?
  • How to override css in material UI?
  • Multi-Page invoice printing on one page
  • when we mouse over a disabled button in FireFox,The title can't display
  • Div on top of Div using z-index
  • CSS : Style the span within div element
  • Raphael js text positioning: centering text in a circle
  • css overlapping content wanted
  • Setting height of div equal to containing div
  • Send HTML mail using Android intent
  • Underline ie6-bug. Inline element in <a> tag
  • Add color to selected <li> item / override <ul> style
  • How to change the strike-out / line-through thickness in CSS?
  • Why don't the images fully display when I convert HTML to PDF with Perl's HTML::HTMLDoc?
  • HTML overlay height to cover entire visible page
  • Anchor tags and target behaviour? - HTML
  • Does specifying image size in CSS allow the browser to do layout before download is complete?
  • How to make space between <p> elements
  • Need help making row of buttons consistent
  • onclick event in dropdown
  • How to retrieve the value passed in POST method?
  • How do I create breadcrumbs like in this Apple site?
  • Buttons size not equal in IE and Firefox
  • Need row to fill remaining space
  • IE6 the last three characters in a div are being repeated else where in the page? really weird
  • Website column width
  • I want to open html page as popup window in my html page when i press button
  • CSS Issue in Firefox/IE
  • Changing button text on hover
  • Reducing load time, or making the user think the load time is less
  • Is it good to put a &nbsp; inside an empty <td>?
  • Error while validating HTML "document type does not allow element "li" here; missing one of "ul"
  • How do I get HTML Tidy to not put newline before closing tags?
  • Creating a horizontal fluid layout in css that works like a table
  • clear view of box model
  • HTML+CSS: combining <UL>/<OL> and faux-tabular format
  • target="new" is not opening new tab or window of my browser in OpenSocial app
  • Where can I get this HTML editor
  • How to fix element not allowed as child?
  • How to embed PDF in a web page using Acrobat Reader instead of Acrobat
  • best method of making a tweet-this button?
  • I cannot crawling with python
  • Printing Perl CSS and HTML
  • Edit CSS with Delphi
  • how to make a vertical button on a webpage
  • shadow
    Privacy Policy - Terms - Contact Us © 35dp-dentalpractice.co.uk