本文将介绍抓取时隐藏的html源代码部分(python)的详细情况,特别是关于python获取页面隐藏元素的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一
本文将介绍抓取时隐藏的html源代码部分(python)的详细情况,特别是关于python获取页面隐藏元素的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于Apache服务器怎的设置,可以隐藏html源代码内容、html源代码 php下过滤html代码的函数 提高程序安全性、JAVA抓取一个HTML源代码、JSF返回空白/未解析的页面,其中包含纯/原始XHTML / XML / EL源代码而不是呈现的HTML输出的知识。
本文目录一览:- 抓取时隐藏的html源代码部分(python)(python获取页面隐藏元素)
- Apache服务器怎的设置,可以隐藏html源代码内容
- html源代码 php下过滤html代码的函数 提高程序安全性
- JAVA抓取一个HTML源代码
- JSF返回空白/未解析的页面,其中包含纯/原始XHTML / XML / EL源代码而不是呈现的HTML输出
抓取时隐藏的html源代码部分(python)(python获取页面隐藏元素)
所以我想从这个网址中抓取“买入价”整数:
https://rsbuddy.com/exchange?id=5502
但是当我查看源代码时,我无法达到这些价格. BeautifulSoup也没有刮刀.这是BeautifulSoup的输出:
但是当我’使用chrome检查元素’时,我实际上能够看到这个价格:
为什么这部分代码“隐藏”了?是不是因为他们不希望别人从他们的网站上刮掉?
有办法解决这个问题吗?
提前致谢
编辑:
我通过使用Chrome工具跟踪javascript流量找到了答案.
显然即使api.rsbuddy.com没有给你任何东西,它确实使用了api:
https://api.rsbuddy.com/grandExchange?a=guidePrice&i=5502
最佳答案
价格可能是由JavaScript放在那里的.可能他们正在使用某种AJAX来获得价格.您将不得不调查他们的JavaScript以获取您想要的数据.
只是为了澄清,它本身并不是“隐藏”,它只是不在HTML中.当你检查元素时,它会查看由HTML所在的文档组成的文档以及JavaScript对它所做的任何更改.
Apache服务器怎的设置,可以隐藏html源代码内容
Apache服务器怎样设置,可以隐藏html源代码内容?
http://docs.php.net/manual/zh/intro-whatis.php
甚至可以将 web 服务器设置成让 PHP 来处理所有的 HTML 文件,这么一来,用户就无法得知服务端到底做了什么。
问题:
1.
<br /> <html><br /> <head></head><br /> <body><br /> <h1>HTML</h1><br /> <?php<br /> echo "PHP";<br /> ?><br /> </body><br /> </html><br />
上面代码。
浏览器可以查看到html源代码。但是,只可以看到php源代码的结果!
如果,不想让用户知道html源代码的内容。
Apache服务器,怎样设置?
PHP官方手册(中文),哪有说明?
------解决方案--------------------
不让用户知道html的内容,那你准备让用户的浏览器知道不?
------解决方案--------------------
3.默认的情况下,Apache服务器只会解析后缀是:.php 的文件。对否?
你的意思是,即使是类似:1.html这样的访问URI,在客户端即使用右键选择“查看源文件”,也看不到最后浏览器渲染的源代码?如果是这样,那么一般是在客户端进行设置,比如最简单的屏蔽右键啊什么的。
4.怎样更改Apache服务器配置。使Apache服务器解析后缀是:.html 的文件?
PHP官方手册(中文)哪有说明?
这里牵涉到的问题比较复杂。
简单的说html文件不用解析,如何渲染是浏览器的事情。如果你要让html文件象php文件一样被解析,而且是按照php语法解析,那么要牵涉到MIME的更改。个人强烈不建议如此做。
你最后的帖子中提到的,我不知道你在想什么……
Apache会解析php代码,并交由PHP5的Apache Module去解析。一般情形下,会从PHP5解析模块那里得到一些结果,然后整个文件会作为html格式传送到浏览器。就是如此。
如果你直接改后缀,php代码将不会被解析,需要的结果都无法得到,就谈不上效率和负担了;
如果真的将html文件的MIME改到PHP应用,那么即使你的html是纯html,也必须经由php去解析一遍然后原样返回,效率反而会低。
总之,我不知道你在想什么。希望我的回答对你有帮助。
最后我要问的是,你的PHP水平如何?怎么会问怎么古怪的问题?如果是个新手,先别问这么牛角尖的问题好吗?
html源代码 php下过滤html代码的函数 提高程序安全性
以下为过滤HTML代码的函数:
复制代码 代码如下:
function ihtmlspecialchars($string) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = ihtmlspecialchars($val);
}
} else {
$string = preg_replace(''/&((#(\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/'', ''&\\1'',
str_replace(array(''&'', ''"'', ''''), array(''&'', ''"'', ''''), $string));
}
return $string;
}
php下过滤HTML代码的函数
复制代码 代码如下:
function htmlEncode($string) {
$string=trim($string);
$string=str_replace("&","&",$string);
$string=str_replace("''","''",$string);
$string=str_replace("&","&",$string);
$string=str_replace(""",""",$string);
$string=str_replace("\"",""",$string);
$string=str_replace("$string=str_replace("$string=str_replace(">",">",$string);
$string=str_replace(">",">",$string);
$string=str_replace(" "," ",$string);
$string=nl2br($string);
return $string;
}
以上就介绍了html源代码 php下过滤html代码的函数 提高程序安全性,包括了html源代码方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
JAVA抓取一个HTML源代码
package com.hyq.src; import java.io.InputStream; import java.net.URL; public class Test { /** * @param args */ public static void main(String[] args) { try{ Test.testNetStream(); }catch(Exception e){ e.printStackTrace(); } } public static void testNetStream()throws Exception{ URL url=new URL("http://www.imust.cn/"); InputStream in=url.openStream(); byte[] b=new byte[100000]; in.read(b); in.close(); String s=new String(b); System.out.println(s); } }
package com.hyq.src; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; public class Test { public static void main(String[] args) { System.out.println(Test.getHtmlSource("http://sports.163.com/zc/")); } public static String getHtmlSource(String url){ StringBuffer stb=new StringBuffer(); try{ URLConnection uc=new URL(url).openConnection(); BufferedReader br=new BufferedReader(new InputStreamReader(uc.getInputStream(),"gb2312")); String temp=null; while((temp=br.readLine())!=null){ stb.append(temp).append("\n"); } br.close(); }catch(Exception e){ e.printStackTrace(); } return stb.toString(); } }
JSF返回空白/未解析的页面,其中包含纯/原始XHTML / XML / EL源代码而不是呈现的HTML输出
WebContent |-- index.xhtml |-- register.xhtml |-- templates | |--userForm.xhtml | `--banner.xhtml :
两个页面都使用/ templates目录下的模板.我的/index.xhtml在浏览器中打开.我得到生成的HTML输出.我在/index.xhtml文件中有一个链接到/register.xhtml文件.但是,我的/register.xhtml没有得到解析,并返回为纯XHTML / raw XML而不是生成的HTML输出.当我在浏览器中右键单击页面源代码,然后我仍然看到XHTML源代码,而不是生成的HTML输出.看起来模板没有被应用.
但是,当我在浏览器的地址栏中打开/register.xhtml,如/faces/register.xhtml,则会正确显示.这是怎么回事,怎么解决呢?
解决方法
> FacesServlet不被调用.
> XML命名空间URI丢失或错误.
>已经加载了多个JSF实现.
1.确保URL匹配FacesServlet映射
链接的URL(浏览器地址栏中显示的网址)必须与< url-pattern>的FacesServlet在web.xml中定义,以便让所有的JSF工作运行. FacesServlet负责解析XHTML文件,收集提交的表单值,执行转换/验证,更新模型,调用操作和生成HTML输出.如果您没有通过URL调用FacesServlet,那么您将获得的所有(通过右键单击,浏览器中的“查看源代码”)确实是原始的XHTML源代码.
如果< url-pattern>例如* .jsf,则链接应指向/register.jsf而不是/register.xhtml.如果像例如/ faces / *一样,那么链接应该指向/faces/register.xhtml而不是/register.xhtml.避免这种混淆的一种方法是只是更改< url-pattern>从/ faces / *到* .xhtml.以下是理想的映射:
<servlet> <servlet-name>facesServlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>facesServlet</servlet-name> <url-pattern>*.xhtml</url-pattern> </servlet-mapping>
如果您无法更改< url-pattern>到* .xhtml因为某些原因,那么你可能也想防止endusers通过URL直接访问XHTML源代码文件.在这种情况下,您可以添加< security-constraint>在< url-pattern>上* .xhtml与一个空的< auth-constraint>在web.xml中阻止:
<security-constraint> <display-name>Restrict direct access to XHTML files</display-name> <web-resource-collection> <web-resource-name>XHTML files</web-resource-name> <url-pattern>*.xhtml</url-pattern> </web-resource-collection> <auth-constraint /> </security-constraint>
即将到来的JSF 2.3将通过在webapp启动期间自动注册* .xhtml的URL模式来自动注册FacesServlet来解决上述所有问题.
也可以看看:
> Set default home page via <welcome-file> in JSF project
> Opening Facelets page errors with “This XML file does not appear to have any style information associated with it.”
> JSF Facelets: Sometimes I see the URL is .jsf and sometimes .xhtml. Why?
> JavaServer Faces 2.2 and HTML5 support,why is XHTML still being used
> Which XHTML files do I need to put in /WEB-INF and which not?
> Our servlets wiki – 了解有关servlet的强制性基础知识
2.确保XML命名空间与JSF版本匹配
自引入JSF 2.2以来,另一个可能的原因是XML命名空间与JSF版本不匹配.如下所示的xmlns.jcp.org是JSF 2.2以来的新功能,并且在较旧的JSF版本中不起作用.症状几乎与FacesServlet未被调用相同.
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://xmlns.jcp.org/jsf/core" xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
如果无法升级到JSF 2.2,则需要使用旧的java.sun.com XML命名空间:
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets">
也可以看看:
> Which XML namespace to use with JSF 2.2
> JSF tags not executed
> Warning: This page calls for XML namespace http://xmlns.jcp.org/jsf/XXX declared with prefix XXX but no taglibrary exists for that namespace
已经加载了多个JSF实现
一个更可能的原因是多个JSF实现已被您的webapp加载,彼此冲突和破坏.例如,当您的webapp的运行时类路径被多个不同版本化的JSF库或特定的Mojarra 2.x Tomcat 8.x组合污染时,当webapp的web.xml中有一个不必要的ConfigureListener条目导致它被加载两次.
<!-- You MUST remove this one from web.xml! --> <!-- This is actually a workaround for buggy GlassFish3 and Jetty servers. --> <!-- When leaving this in and you're targeting Tomcat,you'll run into trouble. --> <listener> <listener-class>com.sun.faces.config.ConfigureListener</listener-class> </listener>
使用Maven时,请确保以正确的方式声明依赖关系,并且了解依赖关系范围.重要的是,当目标服务器已经提供这些依赖关系时,不要在webapp中捆绑依赖关系.
也可以看看:
> Configuration of com.sun.faces.config.ConfigureListener
> How to properly install and configure JSF libraries via Maven?
确保你学习JSF正确的方法
对于不熟悉基本的HTTP,HTML和Servlets的用户,JSF有一个非常陡峭的学习曲线.互联网上有很多低质量的资源.请忽略由业余爱好者维护的代码段抓取网站,主要关注广告收入而不是教学,如roseindia,tutorialspoint,javabeat等.他们很容易被令人不安的广告链接/横幅识别.也请忽略处理侏罗纪JSF 1.x的资源.它们可以通过使用JSP文件而不是XHTML文件来识别.自2009年JSF 2.0以来,JSP作为视图技术已被淘汰.
要开始正确的方法,从our JSF wiki page开始订购一个authoritative book.
也可以看看:
> Java EE web development,where do I start and what skills do I need?
> What is the need of JSF,when UI can be achieved from CSS,HTML,JavaScript,jQuery?
今天关于抓取时隐藏的html源代码部分(python)和python获取页面隐藏元素的讲解已经结束,谢谢您的阅读,如果想了解更多关于Apache服务器怎的设置,可以隐藏html源代码内容、html源代码 php下过滤html代码的函数 提高程序安全性、JAVA抓取一个HTML源代码、JSF返回空白/未解析的页面,其中包含纯/原始XHTML / XML / EL源代码而不是呈现的HTML输出的相关知识,请在本站搜索。
本文标签: