CSDN学习社区 Python实验:百度搜索关键字自动打开相关URL

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

#!python#coding:utf-8#python实现百度搜索关键字,并依次用浏览器打开前五个搜索结果####BeautifulSoup是一个模块,用于从HTML页面中提取信息(用于这个目的时,它比正则表达式好很多)。BeautifulSoup模块的名称是bs4(表示BeautifulSoup,第4版)。要安装它,需要在命令行中运行pipi...

#! 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


转载于:https://blog.51cto.com/8789878/1933549

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐

  • 浏览量 412
  • 收藏 0
  • 0

所有评论(0)

查看更多评论 
已为社区贡献1281条内容