有一些网站的内容由前端的JS动态生成,由于呈现在网页上的内容是由JS生成而来,我们能够在浏览器上看得到,但是在HTML源码中却发现不了。比如今日头条: 浏览器呈现的网页是这样的: 查看源码,却是这样的: 网页的新闻在HTML源码中一条都找不到,全是由JS动态生成加载。 遇到这种情况,我们应该如何对网页进行爬取呢?有两种方法: 1、从网页响应中找到JS脚本返回的JSON数据;2、使用Selenium对网页进行模拟访问 在此只对第一种方法作介绍,关于Selenium的使用,后面有专门的一篇。 一、从网页响应中找到JS脚本返回的JSON数据 即使网页内容是由JS动态生成加载的,JS也需要对某个接口进行调用,并根据接口返回的JSON数据再进行加载和渲染。 所以我们可以找到JS调用的数据接口,从数据接口中找到网页中最后呈现的数据。…
December 27, 2018
python:三元表达式, python三目运算符
python中没有其他语言中的三元表达式,不过有类似的实现方法
其他语言中,例如java的三元表达式是这样
int a = 1; String b = ""; b = a > 1? "执行表达式1":"执行表达式2" System.out.println(b)
在python中只有类似的替代办法,如果a>b的结果为真,h=”变量1″,如果为假,h=”变量2″
a = 1 b = 2 h = "" h = "变量1" if a>b else "变量2" print(h)
也可以用简单的公式,如下,
a = 1 b = 2 h = "" h = a-b if a>b else a+b print(h)