Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在网页内刮表?_Php_Jquery_Dom_Web Scraping_File Get Contents - Fatal编程技术网

Php 在网页内刮表?

Php 在网页内刮表?,php,jquery,dom,web-scraping,file-get-contents,Php,Jquery,Dom,Web Scraping,File Get Contents,我目前正在尝试从网页中的一个表中获取所有结果。目前,我正在尝试使用file\u get\u contents()和一些jquery,但我似乎无法使用jquery在DOM中找到选择器 <pre> <script src="<?php echo base_url() ?>js/scrape.js"></script> <?php print_r($stats); ?> </pre> 我正试图一行一行地获取它们,因为我打算

我目前正在尝试从网页中的一个表中获取所有结果。目前,我正在尝试使用
file\u get\u contents()
和一些jquery,但我似乎无法使用jquery在
DOM
中找到选择器

<pre>

<script src="<?php echo base_url() ?>js/scrape.js"></script>

<?php print_r($stats); ?>

</pre>
我正试图一行一行地获取它们,因为我打算将它们插入我的数据库以备将来使用

我的问题是如何获取网页表中每个
中每个
的值,以便将所有这些值插入我的数据库

PHP:

控制器

function scqf_stats(){

    $data['stats'] = file_get_contents("http://www.scqf.org.uk/Search%20The%20Database?ssub=&stit=Enter+a+title+or+a+part+of+it&sown=Start+typing+and+select+from+dropdown&sownid=&slev=&scrb=&sk=&submitsp=Search");
    $data['main_content'] = 'alt_test';

    $this->load->view('templates/single_view', $data);

}
查看


假设您在
id=search database results
的元素中有一个刮取的页面,则应该这样做,以查找表中每个TR中的所有TDs(按顺序):


如果您需要更多/不同,请详细解释。

id搜索数据库结果在哪里?这就是您要导入的表的名称吗?您需要显示一个HTML示例,因为您的代码中“TR”内有“TR”(这是不正确的)。i、 e.
.children('tr')。children('tr')
$('#搜索数据库结果tr td')。每个(函数(){…})
应该足以在
ID=search database results
元素中找到所有tr中的所有TDs。@Chitowns24是
搜索数据库结果
是table@TrueBlueAussie很抱歉,这是
t正文
的第一个正文。刮取的页面不在
id=“搜索数据库结果”中
但是table元素在
中,只是为了确认这也是跨域的。看来函数
scrape\u it()
根本没有启动1。只要id=“search database results”位于其上方,它对选择器就无所谓。2.跨域页面HTML请求可能会失败,因此您可能需要通过服务器对其进行包装。3.你能把一个样本放在JSFIDLE中吗?我刚刚使用了
CURL
,做了同样的工作。谢谢你的帮助
$(document).ready(function() {

function scrape_it(){

    $('#search-database-results').children('tbody').children('tr').each(function (){
        $this = $(this);

        $('tr').children('td').each(function() {

            var text = $('td').text();
            console.log(text);

        });   

    });

}

scrape_it();

});
$(document).ready(function() {
    function scrape_it(){
        $('#search-database-results tr td').each(function() {
            var text = $(this).text();
            console.log(text);
        });
    }
    scrape_it();
});