如何修改Python爬虫代码以获取英国谷歌搜索结果而非美国结果?
获取英国谷歌搜索结果的代码修改方案
直接修改域名到google.co.uk有时不生效,因为谷歌会根据请求中的地域、语言等信息动态调整结果,甚至重定向到google.com。要强制获取英国地区结果,需要从两个方面调整:
- 添加请求头模拟浏览器并指定语言:谷歌会识别请求的客户端信息,添加标准的浏览器
User-Agent和英式英语的Accept-Language,避免被判定为非标准请求。 - URL中明确指定地域和语言参数:在搜索URL中加入
gl=uk(指定国家为英国)和hl=en-gb(指定语言为英式英语),强制谷歌返回对应地区的结果。
修改后的完整代码:
import requests import bs4 texts = {'womens trousers', 'lingerie','pyjamas'} # 模拟浏览器请求头,指定英式英语 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36', 'Accept-Language': 'en-GB,en;q=0.9' } for text in texts: # 在URL中添加gl=uk(地域)和hl=en-gb(语言)参数 url = f'https://www.google.co.uk/search?q={text}&gl=uk&hl=en-gb' request_result = requests.get(url, headers=headers) soup = bs4.BeautifulSoup(request_result.text, "html.parser") heading_object = soup.find_all('h3') for info in heading_object: print(info.getText())
这样修改后,谷歌会优先返回英国地区的搜索结果,包括本地商家、英国相关的内容等。如果仍有问题,可以检查自身IP是否被谷歌识别为其他地区,必要时可配合英国地区代理,但一般情况下上述修改已足够满足需求。
内容的提问来源于stack exchange,提问作者Shehzadi Aziz
相关产品推荐
相关产品推荐

