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
1pip3 install selenium安装Phantomjs
按照系统环境下载phantomjs,下载完成之后,将phantomjs.exe解压到python的script文件夹下
使用selenium+phantomjs实现简单爬虫
123456789from 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
123456789101112from 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 识别对象的智能等待时间
1234567from selenium import webdriver driver = webdriver.PhantomJS()driver.set_page_load_timeout(5)#设置超时时间driver.get('htt网络.com')print(driver.title)driver.quit()设置浏览器窗口大小
调用启动的浏览器不是全屏的,有时候会影响我们的某些操作,所以我们可以设置全屏
12driver.maximize_window()#设置全屏driver.set_window_size('480','800') #设置浏览器宽480,高800元素定位
123456789101112131415161718from 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()操作浏览器前进或后退
1234567891011121314from 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类,运行的时候它会打开一个浏览器,就像你正常浏览网页一样。
后者,相当于一个无界面的浏览器,它会帮你渲染界面,可以获取到渲染后的页面以及执行脚本。
具体使用方法,可以上网搜搜,网上很多的。