您的位置:首页 > 编程语言 > Python开发

Python实验:百度搜索关键字自动打开相关URL

2017-06-08 17:44 567 查看
#! 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表示需要查找的<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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息