gpt4 book ai didi

python - 如何使用 BeautifulSoup 在 Python 中解析谷歌搜索结果

转载 作者:行者123 更新时间:2023-11-28 20:15:02 25 4
gpt4 key购买 nike

我正在尝试解析谷歌搜索结果的第一页。具体来说,就是提供的标题和小摘要。这是我目前所拥有的:

from urllib.request import urlretrieve
import urllib.parse
from urllib.parse import urlencode, urlparse, parse_qs
import webbrowser
from bs4 import BeautifulSoup
import requests

address = 'https://google.com/#q='
# Default Google search address start
file = open( "OCR.txt", "rt" )
# Open text document that contains the question
word = file.read()
file.close()

myList = [item for item in word.split('\n')]
newString = ' '.join(myList)
# The question is on multiple lines so this joins them together with proper spacing

print(newString)

qstr = urllib.parse.quote_plus(newString)
# Encode the string

newWord = address + qstr
# Combine the base and the encoded query

print(newWord)

source = requests.get(newWord)

soup = BeautifulSoup(source.text, 'lxml')

我现在坚持的部分是沿着 HTML 路径解析我想要的特定数据。到目前为止我所尝试的一切都只是抛出一个错误,说它没有属性或者它只是返回“[]”。

我是 Python 和 BeautifulSoup 的新手,所以我不确定如何到达我想要的位置的语法。我发现这些是页面中的各个搜索结果:

https://ibb.co/jfRakR

任何关于添加什么来解析每个搜索结果的标题和摘要的帮助将不胜感激。

谢谢!

最佳答案

您的网址对我不起作用。但是使用 https://google.com/search?q= 我得到了结果。

import urllib
from bs4 import BeautifulSoup
import requests
import webbrowser

text = 'hello world'
text = urllib.parse.quote_plus(text)

url = 'https://google.com/search?q=' + text

response = requests.get(url)

#with open('output.html', 'wb') as f:
# f.write(response.content)
#webbrowser.open('output.html')

soup = BeautifulSoup(response.text, 'lxml')
for g in soup.find_all(class_='g'):
print(g.text)
print('-----')

阅读Beautiful Soup Documentation

关于python - 如何使用 BeautifulSoup 在 Python 中解析谷歌搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47928608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com