小编Chy*_*kov的帖子

htmlagilitypack和动态内容问题

我想创建一个web scrapper应用程序,我想用webbrowser控件,htmlagilitypack和xpath.

现在我设法创建了xpath生成器(我为此目的使用了webbrowser),它工作正常,但有时我无法动态(通过javascript或ajax)生成内容.另外我发现当webbrowser控件(实际上是IE浏览器)生成一些额外的标签,如"tbody",而htmlagilitypack`htmlWeb.Load(webBrowser.DocumentStream);`没有看到它.

另一个说明.我发现下面的代码实际上抓住了当前的网页源代码,但我无法提供htmlagilitypack`(mshtml.IHTMLDocument3)webBrowser.Document.DomDocument;`

你能帮帮我吗?

c# dynamic-content html-agility-pack

12
推荐指数
2
解决办法
2万
查看次数

检查变量是否已在 PHP 中初始化

我一直在实现 wordpress 插件,但我遇到了一个问题,即发现变量是否已声明。

假设我有一个名为“Hello”的模型。该模型有 2 个变量,分别是“hello_id”和“hello_name”。现在让我们假设在数据库上我们有名为 'hello' 的表,其中 3 列分别为 'hello_id'、'hello_name' 和 'hello_status'。现在我想检查变量是否已声明,如果是,则设置值。

代码

class Hello extends MasterModel{
    public $hello_id;
    public $hello_name;
    function __construct($hello_id = null)
    {
        if ($hello_id != null){
            $this->hello_id = $hello_id;
            $result = $wpdb->get_row(
                "SELECT * FROM hello WHERE hello_id = $hello_id"
            , ARRAY_A);
            $this->setModelData($data);
       } 
    }
}
abstract class MasterModel {
    protected function setModelData($data)
    {
        foreach($data as $key=>$value){
            if(isset($this->{$key})){ // need to check if such class variable declared
                $this->{$key} = $value;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我这样做的主要原因是让我的代码在未来可扩展。例如,我可能不会使用数据库中的某些字段,但将来我可能需要它们。 …

php variable-declaration

5
推荐指数
1
解决办法
8783
查看次数