webbrowser:是 Python 自带的,打开浏览器获取指定页面。

requests:从因特网上下载文件和网页。

Beautiful Soup:解析 HTML,即网页编写的格式。

selenium:启动并控制一个 Web 浏览器。selenium 能够填写表单,并模拟鼠标 在这个浏览器中点击

1 利用webbrower模块的mapIt.py

你的程序需要做到:

•  从命令行参数或剪贴板中取得街道地址。

•  打开 Web 浏览器,指向该地址的 Google 地图页面。

这意味着代码需要做下列事情:

•  从 sys.argv 读取命令行参数。

•  读取剪贴板内容。

•  调用 webbrowser.open()函数打开外部浏览器。 打开一个新的文件编辑器窗口,将它保存为 mapIt.py

下面是书上写的步骤:

1.2 源码

书上是讲解的谷歌地图:我是试了百度地图.你也可以写其他的

# @Author  : liuWang (330141830@qq.com)
# @Link : https://home.cnblogs.com/u/liu-wang/
# @Version :
import webbrowser,sys,pyperclip
#webbrowser.open('http://map.baidu.com/?newmap=1&ie=utf-8&s=s%26wd%3D%E6%B4%9B%E9%98%B3')
if len(sys.argv)>1:
# get address from command line
address=' '.join(sys.argv[1:])
else:
# get address from clipboard
address = pyperclip.paste()
webbrowser.open('http://map.baidu.com/?newmap=1&ie=utf-8&s=s%26wd%3D'+address)

2 "i'm Feeling Lucky " Google 查找

我用的是百度来搜索的。你也可以用自己喜欢的搜索引擎来搜索

# opens several Google search results;
import requests,sys,webbrowser,bs4
print('baidu...')
res = requests.get('http://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd='+' '.join(sys.argv[1:]))
res.raise_for_status() #print(res.text[:2500])
# retrieve top search result links
soup=bs4.BeautifulSoup(res.text,'html.parser')
# open a brower tab for each result
linkElems = soup.select('.t a') numOpen = min(5,len(linkElems))
for i in range(numOpen):
webbrowser.open(linkElems[i].get('href'))

python-web-webbrower-beautifuSoup的更多相关文章

  1. Redis的Python实践,以及四中常用应用场景详解——学习董伟明老师的《Python Web开发实践》

    首先,简单介绍:Redis是一个基于内存的键值对存储系统,常用作数据库.缓存和消息代理. 支持:字符串,字典,列表,集合,有序集合,位图(bitmaps),地理位置,HyperLogLog等多种数据结 ...

  2. Python Web 方向(一)

    Python Web 方向(一) --------Django站点创建 文章地址:http://www.cnblogs.com/likeli/p/5821744.html Python版本:2.7 推 ...

  3. 浅谈五大Python Web框架

    转载:http://feilong.me/2011/01/talk-about-Python-web-framework 说到Web Framework,Ruby的世界Rails一统江湖,而Pytho ...

  4. nginx上部署python web

    nginx上部署python web http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html

  5. 全面解读python web 程序的9种部署方式

    转载自鲁塔弗的博客,本文地址http://lutaf.com/141.htm  python有很多web 开发框架,代码写完了,部署上线是个大事,通常来说,web应用一般是三层结构 web serve ...

  6. Python Web 开发的十个框架【转载】

    Python 是一门动态.面向对象语言.其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性.除了语言本身的设计目的之外,Python标准 库也是值得大家称赞的,Python甚至还 ...

  7. tornado 学习笔记2 Python web主流框架

    2.1 Django 官方网址:https://www.djangoproject.com/ 简介:Django is a high-level Python Web framework that e ...

  8. python web框架——扩展Django&tornado

    一 Django自定义分页 目的:自定义分页功能,并把它写成模块(注意其中涉及到的python基础知识) models.py文件 # Create your models here. class Us ...

  9. 5个最好的Python Web开发框架

    Python是最受欢迎的和最有效率的开发语言之一.Python能让你更快完成工作,并且更有效地集成系统.Python是动态的面向对象的语言.即便你刚刚开始学习Python,也立即就能获得生产力上的提升 ...

  10. The Python web services developer: XML-RPC for Python

    原文地址:http://www.ibm.com/developerworks/webservices/library/ws-pyth10/index.html 摘要:概括地说,您可以将 XML-RPC ...

随机推荐

  1. 创建文件夹、新建txt文件

    1.创建文件夹 QString myMkdir(QString path, QString floderName) //参数 path,创建的文件夹所在路径:  参数floderName,所创建的文件 ...

  2. Largest Rectangle in a Histogram /// 单调栈 oj23906

    题目大意: 输入n,,1 ≤ n ≤ 100000,接下来n个数为每列的高度h ,0 ≤ hi ≤ 1000000000 求得最大矩阵的面积 Sample Input 7 2 1 4 5 1 3 34 ...

  3. 面试系列 30 如何自己设计一个类似dubbo的rpc框架

    其实一般问到你这问题,你起码不能认怂,因为既然咱们这个课程是短期的面试突击训练课程,那我不可能给你深入讲解什么kafka源码剖析,dubbo源码剖析,何况我就算讲了,你要真的消化理解和吸收,起码个把月 ...

  4. js 获取指定字符串个数

    参考:https://blog.csdn.net/maqinqin/article/details/5323824 function getStrCount(scrstr,armstr) { //sc ...

  5. grep 查看前后几行和参数匹配

    如果在只是想匹配模式的上下几行,grep可以实现.   grep -5 'parttern' inputfile //打印匹配行的前后5行 grep -C 5 'parttern' inputfile ...

  6. 2019-8-31-dotnet-获取程序所在路径的方法

    title author date CreateTime categories dotnet 获取程序所在路径的方法 lindexi 2019-08-31 16:55:58 +0800 2019-03 ...

  7. (转)Unity3D手游开发实践

    作者:吴秦出处:http://www.cnblogs.com/skynet/本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名吴秦(包含链接). (转)& ...

  8. 任意文件读取漏洞常用payload合集

    直接整理到github上了,https://github.com/tdifg/payloads 其他payload以后不定期更新

  9. Java虚拟机笔记

    Java内存区域划分 1.程序计数器 线程私有,当前线程执行的行号指示器,指向当前线程执行的虚拟机字节码地址,线程的恢复,跳转等都需要用到它 2.Java虚拟机栈 线程私有,虚拟机栈描述的是Java内 ...

  10. 分享一个现代的,免费的,简单而有效的编辑器Vis

    Vis是一个免费的开源,类似Vi的代码编辑器,它扩展了vi的模态编辑,内置支持使用相同编辑器的基于结构正则表达式的命令语言实现的多个游标/选择.并将其与基于sam结构正则表达式的命令语言相结合. Vi ...