Python 自动化枯燥的工作(不能让BeautifulSoup解析HTML)
该脚本获取一个关键字,在Google上搜索,然后在浏览器中打开结果选项卡。脚本在Python 自动化枯燥的工作(不能让BeautifulSoup解析HTML),python,beautifulsoup,Python,Beautifulsoup,该脚本获取一个关键字,在Google上搜索,然后在浏览器中打开结果选项卡。脚本在select方法中返回一个空数组,我不知道为什么。我检查了搜索结果的HTML,CSS选择器似乎应该可以工作 #! /usr/bin/env python3 import webbrowser, sys, requests, bs4, pyperclip if len(sys.argv) > 1: address = ' '.join(sys.argv[1:]) else: address =
select
方法中返回一个空数组,我不知道为什么。我检查了搜索结果的HTML,CSS选择器似乎应该可以工作
#! /usr/bin/env python3
import webbrowser, sys, requests, bs4, pyperclip
if len(sys.argv) > 1:
address = ' '.join(sys.argv[1:])
else:
address = pyperclip.paste()
res = requests.get('https://www.google.com/search?q=' + address)
soup = bs4.BeautifulSoup(res.text, "lxml")
linkElems = soup.select('.r a')
numOpen = min(5, len(linkElems))
for i in range(numOpen):
webbrowser.open('http://google.com' + linkElems[i].get('href'))
尝试在标题中设置
用户代理
:
from bs4 import BeautifulSoup
import requests
url = "https://www.google.com/search?q=python"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0"
}
response = requests.get(url, headers=headers)
assert response.status_code == 200
soup = BeautifulSoup(response.text, "html.parser")
for element in soup.select(".r a"):
print(element)
这已经出现了多次,并且有多个关于StackOverflow的答案,例如,我同意@QHarr,这看起来像是重复的。