项目:搜索查找

需求:

  每次打开搜索引擎搜索一个关键字,都不会一次只看一个搜索结果。会分别打开前几个链接。即:打开浏览器,搜索关键字,在搜索结果中分别打开各个链接

  为简化这个过程,实现通过命令行方式打开结果中的前5个链接

分析:

  1.从命令行参数中获取查询关键字;

  2.取得查询结果页面;

  3.为每个结果打开一个浏览器选项卡;

  意味着需要完成如下工作:

  1.从sys.argv中读取命令行参数;

  2.用requests模块取得查询结果页面;

  3.找到每个查询结果的链接;

  4.调用webbrowser.open()函数打开Web浏览器;

使用:

D:python_work	est>python test.py python

代码:

import requests,bs4,sys,webbrowser

# 1.读取命令行参数作为搜索关键字
res = requests.get('http://www.chinaso.com/search/pagesearch.htm?q=' + ' '.join(sys.argv[1:]))
res.raise_for_status()  #如果获取到结果,就什么都不做,否则抛出异常
# 2.获取CHINAso搜索结果的超级链接
soup = bs4.BeautifulSoup(res.text,features='html.parser')
#
# f = open('test.html','w',encoding='UTF-8')
# f.write(str(soup.getText))
# f.close()

linkelems = soup.select('.hintTopItem a')

# 3.打开前5个超级链接
numOpen = min(5,len(linkelems))
for i in range(numOpen):
    webbrowser.open('http://www.chinaso.com' + linkelems[i].get('href'))
原文地址:https://www.cnblogs.com/leisurelyRD/p/10760116.html