• 项目:搜索查找


    需求:

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

      为简化这个过程,实现通过命令行方式打开结果中的前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'))
  • 相关阅读:
    1017.陶陶装苹果
    1084.爬楼梯加强版
    1056.A ^ B Problem 快速幂算法。
    1074.我们喜欢递归的斐波那契数列
    1073.我们喜欢递归的阶乘
    1046 没过
    python 基本常用数据类型
    yii2.0 数据库查询操作
    python 随便笔记
    搭建自己的koa+mysql后台模板
  • 原文地址:https://www.cnblogs.com/leisurelyRD/p/10760116.html
Copyright © 2020-2023  润新知