webbrowser:是 Python 自带的,打开浏览器获取指定页面。
requests:从因特网上下载文件和网页。
Beautiful Soup:解析 HTML,即网页编写的格式。
selenium:启动并控制一个 Web 浏览器。selenium 能够填写表单,并模拟鼠标在这个浏览器中点击
一、利用 webbrowser 模块的 mapIt.py
import webbrowser
webbrowser.open('https://image.baidu.com/') # 可以直接打开该网页
二、用 requests 模块从 Web 下载文件
1. requests.get()函数下载一个网页
import requests
res = requests.get('https://image.baidu.com/')
requests.get('https://image.baidu.com/')
# <Response [200]>
type(res)
# <class 'requests.models.Response'> || requests.models.Response
请求网页是否成功
res.status_code == requests.codes.ok
# True
获取网页代码
res.text
网页有多少个字符
len(res.text)
获取网页的前250个字符
res.text[:250]
2.检查错误 raise_for_status()方法
Response 对象有一个 status_code 属性,可以检查它是否等于requests.codes.ok,了解下载是否成功。检查成功有一种简单的方法,就是在 Response对象上调用 raise_for_status()方法。如果下载文件出错,这将抛出异常。如果下载成功,就什么也不做。
res.raise_for_status()
import requests
res = requests.get('http://inventwithpython.com/page_that_does_not_exist')
try:
res.raise_for_status()
except Exception as exc:
print('There was a problem: %s' % (exc))
# There was a problem: 404 Client Error: Not Found
三、将下载的文件保存到硬盘
将 Web 页面写入到一个文件,可以使用 for 循环和 Response 对象的iter_content()方法
import requests
res = requests.get('http://www.gutenberg.org/cache/epub/1112/pg1112.txt')
res.raise_for_status()
playFile = open('RomeoAndJuliet.txt', 'wb')
for chunk in res.iter_content(100000):
playFile.write(chunk)
playFile.close()
iter_content()方法在循环的每次迭代中,返回一段内容。每一段都是 bytes 数据类型,你需要指定一段包含多少字节。10 万字节通常是不错的选择,所以将 100000作为参数传递给 iter_content()。
四、HTML
HTML Beginner Tutorial | HTML Dog
Web Development Courses &a