从Web抓取信息
Posted hjzhoublog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从Web抓取信息相关的知识,希望对你有一定的参考价值。
来源:python编程快速上手——Al Sweigart
webbrowser:是 Python 自带的,打开浏览器获取指定页面。
requests:从因特网上下载文件和网页。
Beautiful Soup:解析 html,即网页编写的格式。
selenium:启动并控制一个 Web 浏览器。 selenium 能够填写表单,并模拟鼠标在这个浏览器中点击。
1 利用 Webbrowser 模块
webbrowser 模块的 open()函数可以启动一个新浏览器,打开指定的 URL。 Web 浏览器的选项卡将打开 URL http://inventwithpython.com/。这大概就是webbrowser 模块能做的唯一的事情。
建立以下程序:
• 从 sys.argv 读取命令行参数。
• 读取剪贴板内容。
• 调用 webbrowser.open()函数打开外部浏览器
1 import webbrowser, sys, pyperclip 2 if len(sys.argv) > 1: 3 # Get address from command line. 4 address = ‘ ‘.join(sys.argv[1:]) 5 else: 6 # Get address from clipboard. 7 address = pyperclip.paste() 8 webbrowser.open(‘https://www.google.com/maps/place/‘ + address)
2 利用 Requests 模块
requests.get()函数接受一个要下载的 URL 字符串。通过在 requests.get()的返回值上调用 type(),你可以看到它返回一个 Response 对象,其中包含了 Web 服务器对你的请求做出的响应。
1 >>>import requests 2 >>>res = requests.get(‘http://www.gutenberg.org/cache/epub/1112/pg1112.txt‘) 3 >>>type(res) 4 <class ‘requests.models.Response‘> 5 >>>res.status_code == requests.codes.ok 6 True 7 >>> len(res.text) 8 178981 9 >>> print(res.text[:250]) 10 The Project Gutenberg EBook of Romeo and Juliet, by William Shakespeare 11 12 This eBook is for the use of anyone anywhere at no cost and with 13 almost no restrictions whatsoever. You may copy it, give it away or 14 re-use it under the terms of the Proje
Response 对象有一个 status_code 属性,可以检查它是否等于requests.codes.ok,了解下载是否成功。检查成功有一种简单的方法,就是在 Response对象上调用 raise_for_status()方法。如果下载文件出错,这将抛出异常。如果下载成功,就什么也不做。
未完待续
以上是关于从Web抓取信息的主要内容,如果未能解决你的问题,请参考以下文章