导航:首页 > 万维百科 > python网页设计js

python网页设计js

发布时间:2020-10-14 23:06:41

1、python爬虫如何获取网页的JS动态生成的内容?

对比一下过滤和没有过滤的标签,看看哪些属性不同,根据这些不同的属性来选择。

2、python3 用webdriver模拟登录页面,登录按钮的链接是javascript:;,怎么实现点击啊

你那个登录按钮有一个class="login-button logReg_btn1",可以用find_element_by_class_name()来识别,

输入login-button或者logReg_btn1都可以

3、Python怎么获取网页中js生成的数据

POST过去,跟js和python没关系,是个http请求。在python端parse。问题再具体些

4、Python怎么获取网页中js生成的数据

js代码是需要js引擎运行的,Python只能通过HTTP请求获取到HTML、CSS、JS原始代码而已。
不知道有没有内用Python编写的JS引擎,估计容需求不大。
我一般用PhantomJS、CasperJS这些引擎来做浏览器抓取。
直接在其中写JS代码来做DOM操控、分析,以文件方式输出结果。
让Python去调用该程序,通过读文件方式获得内容。

5、树莓派,Django框架(Python+html+js)怎么实现网页端最小化

if rv is not None and rsv is not None:
# extract version/subversion
self._nmap_version_number = int(line[rv.start():rv.end()])
self._nmap_subversion_number = int(line[rsv.start()+1:rsv.end()])
break
}

6、使用python flask做网页,使用了JS来做一个弹出登陆框,怎么获取到表单数据,

function a(){

var a = $("#username").val();

var b = $("#password").val();

alert("帐号="+a+"<>密码="+b)

}

<input type="button" name="loginbtn" id="loginbtn" class="flatbtn-blu hidemodal" value="登陆" tabindex="3"style="height: 50px;width: 80px;margin-left: 85px;" onclick="a();" >

7、能否通过PYTHON 抓取网页上由JS生成的URL?

最狠毒的方法是写一个js解释器,然后先把抓下来的页面送到js解释器,生成静态页面然后就可以了,你可以在google code上搜索一下

8、如何用python+selenium+phantomjs获得一个网页的动态生成的html代码

一般我们使用python的第三方库requests及框架来爬取网上的资源,但是设计javascript渲染的页面却不能抓取,此时,我们使用web自动化测试化工具Selenium+无界面浏览器PhantomJS来抓取javascript渲染的页面,下面实现一个简单的爬取

环境搭建

准备工具:python3.5,selenium,phantomjs

我的电脑里面已经装好了python3.5

安装Selenium

1

pip3 install selenium

安装Phantomjs

按照系统环境下载phantomjs,下载完成之后,将phantomjs.exe解压到python的script文件夹下

使用selenium+phantomjs实现简单爬虫

123456789

from selenium import webdriver  driver = webdriver.PhantomJS()driver.get('http.com') #加载网页data = driver.page_source #获取网页文本driver.save_screenshot('1.png') #截图保存print(data)driver.quit()

selenium+phantomjs的一些使用方法

设置请求头里的user-Agent

123456789101112

from selenium import webdriverfrom selenium.webdriver.common.desired_capabilities import DesiredCapabilities  dcap = dict(DesiredCapabilities.PHANTOMJS)#设置useragentdcap['phantomjs.page.settings.userAgent'] = ('Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:25.0) Gecko/20100101 Firefox/25.0 ')#根据需要设置具体的浏览器信息driver = webdriver.PhantomJS(desired_capabilities=dcap)#封装浏览器信息driver.get('h.com') #加载网页data = driver.page_source #获取网页文本driver.save_screenshot('1.png') #截图保存print(data)driver.quit()

请求超时设置

webdriver类中有三个和时间相关的方法:

1.pageLoadTimeout  设置页面完全加载的超时时间,完全加载即完全渲染完成,同步和异步脚本都执行完

2.setScriptTimeout  设置异步脚本的超时时间

3.implicitlyWait 识别对象的智能等待时间

1234567

from selenium import webdriver driver = webdriver.PhantomJS()driver.set_page_load_timeout(5)#设置超时时间driver.get('htt网络.com')print(driver.title)driver.quit()

设置浏览器窗口大小

调用启动的浏览器不是全屏的,有时候会影响我们的某些操作,所以我们可以设置全屏 

12

driver.maximize_window()#设置全屏driver.set_window_size('480','800') #设置浏览器宽480,高800

元素定位

123456789101112131415161718

from selenium import webdriver driver = webdriver.PhantomJS()driver.set_page_load_timeout(5)driver.get('i.com')try:    driver.get('.com')    driver.find_element_by_id('kw')# 通过ID定位    driver.find_element_by_class_name('s_ipt')# 通过class属性定位    driver.find_element_by_name('wd')# 通过标签name属性定位    driver.find_element_by_tag_name('input')# 通过标签属性定位    driver.find_element_by_css_selector('#kw')# 通过css方式定位    driver.find_element_by_xpath("//input[@id='kw']")# 通过xpath方式定位    driver.find_element_by_link_text("贴吧")# 通过xpath方式定位    print(driver.find_element_by_id('kw').tag_name ) # 获取标签的类型except Exception as e:    print(e)driver.quit()

操作浏览器前进或后退

1234567891011121314

from selenium import webdriverdriver = webdriver.PhantomJS()try:    driver.get('httai.com') #访问网络首页    driver.save_screenshot('1.png')    driver.get('ht.sina.com.cn') #访问新浪首页    driver.save_screenshot('2.png')    driver.back()                         #回退到网络首页    driver.save_screenshot('3.png')    driver.forward()                      #前进到新浪首页    driver.save_screenshot('4.png')except Exception as e:    print(e)driver.quit()

好文要顶 关注我 收藏该文  

9、如何用Python爬虫抓取JS动态筛选内容

打开浏览器,以google chrome为例,输入你上面的网址。
然后按F12打开调试窗口,然后尝试勾选左边某一个选项,马上可以看到右边的调试窗口有东西输出。
找到第一个输出的行,点击header,可以看到每一个都是用的post方法。
所以只需要构造相应的header并post上去,就可以得到你想要的数据了。

尝试每一个request都点开看一下

就是你要构造的数据

FormData就是你要构造的数据

把数据构造好然后使用post函数发送给网站


这个得到的是一个网页格式的数据。


而这个发放返回的是json数据,然后编码成dict格式 提取出数据就可以了。

10、python怎么抓取渲染后的页面

目前我知道的有两种方法,一种是使用selenium框架,另一种是用phantomjs.
前者,是一个自动化测试框架,有一个webdriver类,运行的时候它会打开一个浏览器,就像你正常浏览网页一样。
后者,相当于一个无界面的浏览器,它会帮你渲染界面,可以获取到渲染后的页面以及执行脚本。
具体使用方法,可以上网搜搜,网上很多的。

与python网页设计js相关的知识