python - 谷歌搜索结果提取python
问题描述
我曾尝试使用美丽的汤提取谷歌搜索结果。但提取的网址是这种形式:
/url?q=https://www.facebook.com/PMOIndia/&sa=U&ved=2ahUKEwiU89Xr_MjwAhUAHLkGHfl3AFI4KBAWMAF6BAgIEAE&usg=AOvVaw3WXSVzoiXCQOliyGZxjkSd
我只想要网址的“https://www.facebook.com/PMOIndia/”部分。
我使用的代码是
page="https://www.google.com/search?q="+str(query)+"&sxsrf=ALeKk01EudGSzSmaU8dDy9kgRgdOqE_UMQ:1620987283855&ei=k02eYLW6M7ud4-EPvNyM0Ag&start="+str(page)+"&sa=N&ved=2ahUKEwj1z_SZ-MjwAhW7zjgGHTwuA4oQ8tMDegQIARA3&biw=1536&bih=722"
driver = requests.get(page)
sleep(randint(2,10))
soup= BeautifulSoup(driver.text, 'html.parser')
for path in soup.findAll('div', attrs={'class':'kCrYT'}):
x =path.find('a')
try:
urls.append(x.get('href'))
except AttributeError :
pass
解决方案
尝试:
url = "/url?q=https://www.facebook.com/PMOIndia/&sa=U&ved=2ahUKEwiU89Xr_MjwAhUAHLkGHfl3AFI4KBAWMAF6BAgIEAE&usg=AOvVaw3WXSVzoiXCQOliyGZxjkSd
"
new_url = "/".join(url[7:].split("/",4)[:4])+"/"
推荐阅读
- spring-boot - Spring Boot Kotlin Mockito @MockBean 依赖在方法调用上抛出 IllegalStateException null
- haskell - 如何在 ScottyM 中运行 IO
- java - 无法更新到新的 Android Material 版本
- wpf - WPF 弹出行为
- angular - 错误:
属性 d:预期数字,“…521739130434781,NaNL60.739130434…”。在平台-browser.js:1151 - r - R读取excel(xlsx)文件日期,时间格式问题
- swiftui - 动态更改 Picker 的内容
- java - 你知道我的 spring 安全配置有什么问题吗?
- angular - 在 'root'、'platform'、'any' wrt providedIn 中,在 Angular 的哪种情况下应该首选哪一个?
- amazon-web-services - AWS ALB - 您必须从至少两个可用区中指定子网