Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 自动化枯燥的工作(不能让BeautifulSoup解析HTML)_Python_Beautifulsoup - Fatal编程技术网

Python 自动化枯燥的工作(不能让BeautifulSoup解析HTML)

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 =

该脚本获取一个关键字,在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 = 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,这看起来像是重复的。