1、使用requests模块提取HTML页面文本 1.1、示例,获取一个网页文本 import requests url='http://www.baidu.com' try: res = requests.get(url, timeout=30) res.raise_for_status() res.encoding = 'utf-8' except Exception as e: print('未能获取页面:', e) else: print(res.text) 1.2、requests.get(url[, timeour=n])方法 向指定的url发送一个HTTP的GET请求,获取网页。返回一个Response对象 1.3、Response对象的方法 raise_for_status(),如果响应状态不是200,抛出异常 json(), 解析JSON数据 1.4、Response对象的属性 encoding, 设置或读取响应内容的编码 text, 响应内容的字符串表示 content, 响应内容的二进制表示 status_code,HTTP请求的返回状态。200表示成功,404失败,418表示反爬虫 1.5、将上面得到的网页存入一个html文件,然后显示到浏览器上,观察效果。 提取到的页面,可能缺少图片资源和css资源,在浏览器上的显示和网站直接显示的效果会不同。
时间: 2023-07-14 15:13:12 浏览: 189
requests库爬取百度主页.txt
可以使用Python的文件操作将获取到的网页文本存入一个html文件中,然后使用webbrowser模块打开该文件,代码示例如下:
```
import requests
import webbrowser
url = 'http://www.baidu.com'
try:
res = requests.get(url, timeout=30)
res.raise_for_status()
res.encoding = 'utf-8'
except Exception as e:
print('未能获取页面:', e)
else:
with open('baidu.html', 'w', encoding='utf-8') as f:
f.write(res.text)
webbrowser.open('baidu.html')
```
执行该代码后,会在当前目录生成一个baidu.html文件,并自动打开该文件。在浏览器中可以观察到百度首页的效果。请注意,该页面可能缺少图片资源和css资源,因此显示效果可能会与直接访问百度网站的效果不同。
阅读全文