#! python
# coding: utf-8
# python实现百度搜索关键字,并依次用浏览器打开前五个搜索结果
##
##Beautiful Soup 是一个模块,用于从HTML 页面中提取信息(用于这个目的时,它比正则表达式好很多)。BeautifulSoup 模块的名称是bs4(表示Beautiful Soup,第4 版)。要安装它,需要在命令行中运行pip install beautifulsoup4
import bs4, sys, webbrowser, requests
#res = requests.get(‘http://www.baidu.com/s?wd=‘ +‘‘.join(sys.argv[1]) + ‘%20‘ + ‘‘.join(sys.argv[2]) + ‘&cl=3&t=12&fr=news‘) # 接收两个关键字
res = requests.get(‘http://www.baidu.com/s?wd=‘ + ‘‘.join(sys.argv[1]) + ‘&cl=3&t=12&fr=news‘) # 接收一个关键字
res.raise_for_status() #检查状态
soup = bs4.BeautifulSoup(res.text, ‘html5lib‘) # 使用BeautifulSoup提取html,并用html5lib解析器解析 安装html5lib 用pip install html5lib
linkElems = soup.select(‘.t a‘) # 通过在浏览器页面审查元素,会发现前五个URL中都会有个 class=‘t‘ 类作为标记,a表示需要查找的元素
print(linkElems)
numOpen = min(5, len(linkElems)) # 搜索出来的结果不止5个,这里需要做限制,根据需要定义
for i in range(numOpen):
print(linkElems[i].get(‘href‘)) # 使用get(‘href‘)方法获取超链接
webbrowser.open(linkElems[i].get(‘href‘)) # webbrowser.open()打开浏览器
###最后测试,打开cmd, 执行命令
# luck.py nginx
#接下来会输出关于nginx的前5个url,并自动打开系统默认浏览器以此打开5个URL