requests-html只支持Python3.6及更新的版本,是一个解析HTML的库。
requests-html和其他解析HTML库最大的不同点在于HTML解析库一般都是专用的,所以我们需要用另一个HYDTTP库先把网页下载下来,然后传给那些HTML解析库。而requests-html自带了这个功能,所以在爬取网页等方面非常方便。
使用Python 3的requests模块抓取网页源码并保存到文件示例:
import requests
html = requests.get("http://www.baidu.com")
with open('test.txt','w',encoding='utf-8') as f:
f.write(html.text)
这是一个基本的文件保存操作,但这里有几个值得注意的问题:
1.安装requests包,命令行输入pip install requests即可自动安装。很多人推荐使用requests,自带的urllib.request也可以抓取网页源码
2.open方法encoding参数设为utf-8,否则保存的文件会出现乱码。
3.如果直接在cmd中输出抓取的内容,会提示各种编码错误,所以保存到文件查看。
4.with open方法是更好的写法,可以自动操作完毕后释放资源。
另一个例子:
import requests
ff = open('testt.txt','w',encoding='utf-8')
with open('test.txt',encoding="utf-8") as f:
for line in f:
ff.write(line)
ff.close()
这是演示读取一个txt文件,每次读取一行,并保存到另一个txt文件中的示例。
因为在命令行中打印每次读取一行的数据,中文会出现编码错误,所以每次读取一行并保存到另一个文件,这样来测试读取是否正常。(注意open的时候制定encoding编码方式)
需要准备的材料分别有:电脑、浏览器、html编辑器。
1、首先,打开html编辑器,新建html文件,例如:index.html。
2、在index.html中的<script>标签中,输入js代码:$('body').append(location.search)。
3、浏览器进入index.html?type=5&name=Alice页面,此时页面会获取到request的值并打印出。