request-html获取渲染后的web源码

request-html获取渲染后的web源码,第1张

首先可以先去用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代码、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9735499.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存