今天给各位分享网站源码爬取的知识,其中也会对获取网站源码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
用requests库爬取网站源码问题
这个网页是JavaScript异步加载的,直接用requests爬不到你想要的网页源码。
为什么别人网站源码中只有少量内容,其他通过js实现
最有可能的原因就是网页数据是动态加载的,存储在一个json文件中,直接获取源码是提取不到任何信息的,需要抓包分析才行,下面我简单介绍一下操作过程,以某某贷上的数据为例(动态加载):
1.首先,打开原网页,如下,这里假设我们要爬取的数据包含年利率、借款标题、期限、金额和进度5个字段:
2.接着右键打开网页源码,按Ctrl+F搜索其中关键字,如“10.20%”,可以看到,任何信息都匹配不到,说明数据是动态加载的,而非直接嵌套在网页源码中:
3.按F12调出浏览器开发者工具,开始抓包分析,依次点击“Network”-“XHR”,F5刷新页面,可以看到,数据是动态加载的,存储在一个json文件中,而非html网页源码,只有解析这个json文件,才能提取出我们需要的数据:
4.接着就是根据抓包结果解析json文件,已经获取到url地址,所以直接get请求即可,然后用python自带的json包解析就行,测试代码如下,非常简单,依次根据属性提取字段信息即可:
5.最后点击运行程序,截图如下,已经成功提取到我们需要的数据:
至此,我们就完成了网页动态数据的爬取。总的来说,整个过程非常简单,最主要的还是抓包分析,获取到真实存储数据的文件,然后再解析就行,只要你有一定的python基础,熟悉一下上面的过程,很快就能掌握的,当然,如果数据或链接进行了加密处理,这个就非常复杂了,需要自己好好琢磨一下,网上也有相关资料和教程,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
python怎么爬取网页源代码
#!/usr/bin/env python3
#-*- coding=utf-8 -*-
import urllib3
if __name__ == '__main__':
http=urllib3.PoolManager()
r=http.request('GET','IP')
print(r.data.decode("gbk"))
可以正常抓取。需要安装urllib3,py版本3.43
网站源码爬取的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于获取网站源码、网站源码爬取的信息别忘了在本站进行查找喔。