【发布时间】:2018-08-29 03:44:48
【问题描述】:
我想用 python 抓取 google 搜索结果的 url。
这是我的代码
import requests
from bs4 import BeautifulSoup
def search(keyword):
html = requests.get('https://www.google.co.kr/search?q={}&num=100&sourceid=chrome&ie=UTF-8'.format(keyword)).text
soup = BeautifulSoup(html, 'html.parser')
result = []
for i in soup.find_all('h3', {'class':'r'}):
result.append(i.find('a', href = True) ['href'][7:])
return result
search('computer')
然后我可以得到结果。列表的第一个 url 是 wikipedia.com,即,
'https://en.wikipedia.org/wiki/Computer&sa=U&ved=0ahUKEwixyfu7q5HdAhWR3lQKHUfoDcsQFggTMAA&usg=AOvVaw2nvT-2sO4iJenW_fkyCS3i', '?q=computer&num=100&ie=UTF-8&prmd=ivnsbp&tbm=isch&tbo=u&source=univ&sa=X&ved=0ahUKEwixyfu7q5HdAhWR3lQKHUfoDcsQsAQIHg'
我想获得干净的 url,即“https://en.wikipedia.org/wiki/Computer”,在这种情况下包括所有其他搜索结果。
如何修改我的代码?
已编辑:如下图所示,我要的是真正的 url(标记为黄色),而不是上面那个乱七八糟的 url。
【问题讨论】:
标签: python web web-crawler