首先可以先去用requests库访问url来测试一下能不能拿到数据,如果能拿到那么就是一个普通的网页,如果出现403类的错误代码可以在requestsget()方法里加上headers
如果还是没有一个你想要的结果,打印出来 的只是一个框架,那么就可以排除这方面了。就只可能是ajax或者是javascript来渲染的。
就可以按照下图去看一下里面有没有
本次先重点去讲一下关于js来渲染网页的数据爬取,这下面的数据是随机找的,只要是里面想要爬取的数据就行 了。
这里ctrl+f就可以搜索到了说明就是在这个js的文件里面
这个就是真正的数据。
剩下的就是可以利用xpath,beautifulsoup或者pyquery来解析得到的网页源码就可以了。
这里我个人推荐此处用pyquery比较方便简单一些。
使用Python 3的requests模块抓取网页源码并保存到文件示例:
import requests
html = requestsget(">
with open('testtxt','w',encoding='utf-8') as f:
fwrite(htmltext)
这是一个基本的文件保存 *** 作,但这里有几个值得注意的问题:
1安装requests包,命令行输入pip install requests即可自动安装。很多人推荐使用requests,自带的urllibrequest也可以抓取网页源码
2open方法encoding参数设为utf-8,否则保存的文件会出现乱码。
3如果直接在cmd中输出抓取的内容,会提示各种编码错误,所以保存到文件查看。
4with open方法是更好的写法,可以自动 *** 作完毕后释放资源。
另一个例子:
import requests
ff = open('testttxt','w',encoding='utf-8')
with open('testtxt',encoding="utf-8") as f:
for line in f:
ffwrite(line)
ffclose()
这是演示读取一个txt文件,每次读取一行,并保存到另一个txt文件中的示例。
因为在命令行中打印每次读取一行的数据,中文会出现编码错误,所以每次读取一行并保存到另一个文件,这样来测试读取是否正常。(注意open的时候制定encoding编码方式)
以上就是关于request-html获取渲染后的web源码全部的内容,包括:request-html获取渲染后的web源码、python里面request怎么读取html代码、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)