Get Google Reviews with IMPORTXML function in G Sheets - google-sheets

I'm trying to import to a Google Sheet the number of reviews and average rating of a certain venue on Google Maps.
Taking as an example this page:
https://www.google.com/maps?cid=8807257593070771217
From Chrome's inspector, the XPath for the average should be:
//*[#id='pane']/div/div[1]/div/div/div[1]/div[3]/div[2]/div/div[1]/span[1]/span/span
However it always returns empty.
Any idea why?
PS - This URL redirects to another, but that shouldn't be the problem as the same thing happens with Facebook and it returns the correct values.
Thanks in advance for any help

Per the comments here, you can't. If you want to scrape Google Maps, use Google's officially supported way to do that: their APIs.
You're probably interested in the Place Details, in particular.

If you have access to a businesses Google My Business page you can leverage the API to pull in reviews that way: https://developers.google.com/my-business/content/review-data
Otherwise, https://serpapi.com can scrape Google reviews for you.

Related

Google Spreadsheet API Developer

I am no longer trying "to embed Google Maps so when I click on it opens Google Maps with 100 meters radius." I understand "Google Maps is not a part of the core services.
I am now trying to use a Work Around without Google Maps and am now asking for help with the "Work Around"....
I want to be able to use the method from this YouTube video to create the Search option another Google support team rep(Vienna) referred me to. In the video he did a search for shoes, shirts and dresses to find his customers. I want to do a search by zip and/or city and state to find mine...."Google Sheets - Search, QUERY function"===https://www.youtube.com/watch?v=VSGKO5gx974
I need help with this part as well with the Google Sheets function list. Which Google Sheet function or a combination of functions will allow me to do the 150-200 meters radius search within the "Google Sheets"? I am not tech savvy and need help to determine which ones can be used. Here are some of the functions that appear to be able to be used from what I think FLATTEN, FREQUENCY, LINEST, MAP, MMULT MDETERM , SUMX2PY2, DAVERAGE, DCOUNTA, DSTDEV, DVAR, DELTA, FILTER, SORT, SORTN, UNIQUE, QUERY, ISFORMULA, CELL, ect.... ===https://support.google.com/docs/table/25273?hl=en#query=
The Viennes also sent a link. https://developers.google.com/maps/documentation/routes_preferred/support#:~:text=Before%20you%20call%2C%20make%20sure,1%2D877%2D355%2D5787
As I was looking over the page, I came across the link to theMarketplace.
I was wondering which one of those databases could be used in the function to accomadate what I am trying to accomplish. Is it the Zip Code Tabulation Area, Geolocation API, CARTO, Roads, API, Routes API. Maps JavaScriprt API, ect....
With those three things listed above, I am sure something can come close to doing a radius/range search in Google Sheets.
If any, at least by the City and/or State search.
I am in need of a Developer, can you suggest one?

Performing Google Search In Spreadsheet And Scraping The SERP Data

I hope that you guys are fine. I want to build a simple spreadsheet and I thought I could be able to make one but blank sheet looks horrible to me. I am sure that you guys are kind enough to help me out.
I want to perform multiple Google search queries in Google spreadsheet and want to parse results of each search (top 10 results of each search)
Something like this: https://www.youtube.com/watch?v=tBwEbuMRFlI
But when I tried his given formula in description to play test, Google returned #Error to me, I don't know why.
Can you guys please help me out in making a simple spreadsheet compatible for multiple queries at once? Like one column for keywords (where I could paste my list of keywords) and then 10 columns of search results. All results for one keyword should come in one row
Something like this:
My 1st Example Query = 1st search result, 2nd search result, 3rd result and so on.
My 2nd Example Query = 1st search result, 2nd search result, 3rd result and so on.
It must be easy to code but yeah, it might be time-consuming and I would be very grateful if anyone of you could help me about it.
Looking forward to your help guys.
The problem is that you want to scrape out of Spreadsheets, that's a bad approach and is almost certainly not going to work. Even if you manage to write a scraper inside that limited environment it will easily be spotted by Google.
As you said time is not a problem, I would suggest another route.
Use a backend tool/script that scrapes the data
Use a backend tool/script that creates/modifies the Google spreadsheet
You can run such a script(s) manually on your PC or from a server full automated using a scheduler/cron job.
To create/modify spreadsheets look here: How do I access the Google Spreadsheets API in PHP?
To scrape Google look here: Is it ok to scrape data from Google results?
So this is PHP as language of choice but you can do the exactly same in Java or Python or C#
There is a third party solution like SerpApi you could use for this. It's a paid API with a free trial.
Google Sheets Add-on: SerpApi - Search Engine Results and Ranks
Example code to extract title from the first result:
=SERPAPI_RESULT("engine=google&q=coffee&location=Austin, Texas, United States&google_domain=google.com&gl=us&hl=en", "organic_results.0.title")

I want a Googlesheet to lookup and import values from api

I have a Google sheet with a list of information on customers, one being a user count from a WaaS I run.
I would like to regularly run a script that makes a http api request that returns the user count from the platform and updates the value in the Googlesheet.
How easy is this?
I never worked with the Google Sheets API, but the documentation looks good. I hope this will help, https://developers.google.com/sheets/

Facebook Search in Graph API

I'm developing an iOS application that let the user to search for a person throught the Graph API.
What I want is the SAME behavior that it's present on the Facebook website. You know when you begin to search for a person in the top text input? The first results will be mostly your friends AND some people you MAY know or people you already looked for.
The problem? Try to use the same search pattern here to search a person: Graph Api Explorer
The Graph Api returns DIFFERENT results than the search input on the Facebook website.
Does anyone knows why? Is there a way to achieve the same results?
Facebook are using many algorithms to display search result like Relevance Indicators, Complexities of User-Centric Search and The Product.
One of the algorithm to display result on their page as below.
Personal Context:
Unlike most search engines, every Facebook search involves two key elements - a query and a querier.
Just as we need to understand the query, it’s as essential to understand the person behind the query.
People are more likely to be looking for things located in their own city/country or for people who share the same college/workplace.
We consider this information and much more when ranking results. The more we know about you, the better your search results will be.
In Graph API, they are not using this algorithm.They are just displaying the queried result. Hence you can not achieve same result using graph search API.
To achieve this you can use following apporach -
Get the friend list of user using me/friends?limit=1&offset=1
Get the user list using search api
merge both the result
show result(s) to user
For more information(approach/algorithm) you can check Intro to Facebook Search
Is there a way to achieve the same results? - NO
Does anyone knows why? - NOT REALLY
(Edit: Seems in another answer, someone does actually, but it doesn't change the answer for "If you can achieve it")
But its safe to presume that Facebook does not allow all functionality through the API, why would they after all ? They need to keep the people coming to their own platform. So I can't give you a straight forward response on WHY, but IF ? Not possible, there is zero documentation about more specified search for type user. When you request user friends, you will only get the user friends who are using the same app starting v2.0
Am afraid that you will have to drop the functionality you want to achieve.
It is not just the graph search. When you refresh your TimeLine. The order of posts gets changed every time because Facebook takes a Pull on Demand approach. Which means whenever you login, the data from your friends is fetched. Which is why facebook has a limit to maximum number of friends.
Talking about the Graph search and Graph API. They are not same and the Graph Search cannot be accessed through the Graph API. So, you would have to change your approach.
To explain why the graph search gives different results on same search term. I would guess that it follows the game Pull on Demand model ( although it is not open and we cannot know for sure ). Following that model makes sense though.
Thanks

google search as an rss feed

Is there a way to have treat google serach results as an rss feed?
For example say I worked for stackoverflow and wanted to montior how if the results from the following search url: http://www.google.com/search?hl=en&q=stackoverflow changes from day today.
It would be cool if I could append &output=rss to the url and get back a feed like with google news. But that does not seem to be supported.
Anyone have ideas? (Note I am programing with Ruby and Rails, if that matters)
Thanks!
Jonathan
Google has the Google Alerts service, which notifies you whenever it finds new content matching a certain query. Besides sending to an email address (instantly, daily, weekly), it allows you to create an RSS feed out of it.
No, Google doesn't offer that feature.
If you need to parse/convert the result of a query on Google, you can use a (X)HTML parser such as Nokogiri.
Beware that automatic requests to Google may violate its TOS.

Resources