如何使用位置参数抓取Google购物

问题描述

我正在尝试使用 Scrapy 抓取Google购物。

start_urlhttps://www.google.com/search?q={}&tbm=shop

我正在将关键字短语注入上述URL,例如“ cement+50+kg”。

但是我想在不同的国家进行搜索-例如,查找美国的水泥价格。我该如何实现?

我正在手动尝试此操作,以查看URL是否更改:

  1. “高级搜索”中的更改区域-添加搜索查询参数,但是搜索结果没有相应更改。
  2. 在“搜索设置”中更改了搜索国家/地区-结果来自该国家/地区,但我无法确定URL中的查询参数。

此外,我只是在很小的范围内完成此操作,因此,如果遇到任何有关阻止,代码更改等问题,我在Google购物中可能会遇到的问题,将深表感谢。

使用Scrapy是否有主要障碍?我应该改用硒吗?

解决方法

Google 使用 uule 参数传递位置数据。它用于将地点或确切位置(包括纬度和经度)编码为 cookie、url 或 http 标头中使用的值。

美国 == w+CAIQICINVW5pdGVkIFN0YXRlcw

您可以在此处阅读更多相关信息:https://valentin.app/uule.html

还有像 SerpApi 这样的第三方解决方案。这是一个免费试用的付费 API。我们为您处理代理、解析验证码并解析所有丰富的结构化数据。

示例 Python 代码(也可在其他库中使用):

from serpapi import GoogleSearch

params = {
  "engine": "google","q": "cement 50 kg","google_domain": "google.com","gl": "us","hl": "en","location": "United States","tbm": "shop","api_key": "secret_api_key"
}

search = GoogleSearch(params)
results = search.get_dict()

示例 JSON 输出:

"shopping_results": [
  {
    "position": 1,"title": "Wholesale 50kg cement bag,1 Piece","link": "https://www.google.com/aclk?sa=L&ai=DChcSEwjqsIfOgpjxAhUFbW8EHfIcBvwYABAFGgJqZg&sig=AOD64_2lxrIvhKl-jSkU_uwbVdMtfbIxgA&ctype=5&q=&ved=0ahUKEwjlnYPOgpjxAhUQLKwKHeHWDl8QgeUECIcD&adurl=","source": "Alibaba.com","price": "$0.25","extracted_price": 0.25,"snippet": "Trade Assurance,No Shipping Fee | Alibaba.com","thumbnail": "https://serpapi.com/searches/60c7c3ad5119a69d2314814b/images/2d5510b1cc7c1a7a51a1f0d85a2f131f55c541b3ee95bfa73a7e6df83daac97a.jpeg"
  },{
    "position": 2,"title": "Riverside Plastic 94 Lb/bag Cement","link": "https://www.google.com/aclk?sa=L&ai=DChcSEwjqsIfOgpjxAhUFbW8EHfIcBvwYABAEGgJqZg&sig=AOD64_1UioDhoruBK2KZZM9lpo6EC9DAxA&ctype=5&q=&ved=0ahUKEwjlnYPOgpjxAhUQLKwKHeHWDl8QgeUECJMD&adurl=","source": "WhiteCap.com","price": "$15.89","extracted_price": 15.89,"snippet": "Riverside cement plastic cement,94 lb,bag container,ASTM C1328,for making mortar,plaster and stucco. | Riverside Plastic ...","thumbnail": "https://serpapi.com/searches/60c7c3ad5119a69d2314814b/images/2d5510b1cc7c1a7a51a1f0d85a2f131f981e26eb8236be3e014b2e90eb4fb4e1.jpeg"
  },...
]

查看documentation了解更多详情。

免责声明:我在 SerpApi 工作。