gpt4 book ai didi

php - 使用 RegEx 将抓取限制为 X 个字符 + 其他规范

转载 作者:行者123 更新时间:2023-11-29 08:09:58 25 4
gpt4 key购买 nike

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

8年前关闭。




Improve this question




你们都可以跳过这个背景信息,尽管它很有帮助。

背景

我拥有一个索引丹麦所有心理学家的网站。
我的网站提供所有诊所的联系信息以及用户评分。

我目前列出了 12.000 名心理学家,其中大约 6.000 名拥有网站。大约 1000 名心理学家访问了我的网站,并在他们的个人资料中填写了额外的“描述性”信息(例如开放时间、价格等)

出于提供信息的原因,我正在尝试自动抓取(使用 PHP 和 RegEx)那些没有向我的社区提供详细信息的网站。

我随机浏览了大约 150 个网站,得出的结论是,超过 85% 的网站在“Velkommen”(=welcome,丹麦语)这个词前有有值(value)的文字。宝贵的!

问题

#1

我如何在我的脚本中具体说明,我只想捕获大约。 360 个字符,仅此而已。办公室。这应该在 Velkommen 一词之前(并包括)。此外,脚本不应该区分大小写(虽然 Velkommen 通常拼写为大写 V,但它可以在另一个句子中弹出。)

此外,它应该是整个首页上最后出现的“velkommen”,因为它有时会作为菜单/导航选项出现,这很糟糕,因为我会捕获导航选项。

#2

目前,我的脚本将信息保存在多个数组中,然后保存在数据库中。

不知道我应该怎么做。什么是 SEO 的最佳选择;

  • 将抓取的文本保存在 MySQL 中并每次都显示。
  • 每次都渲染相同的 360 字 rune 本 [跟随 'Velkommen']
  • 每次有人在我的网站上查看特定的心理学家时,从网站上随机呈现 360 个字符的文本。

  • 这是一个示例站点和我当前的脚本:
    $web = "http://www.psykologdorthelau.dk/";
    $website = file_get_contents ($web);

    preg_match_all("/velkommen.+?/sim", $website, $information);

    //THIS SHOULD SPECIFICY THE VERY LAST 'VELKOMMEN' - it doesn't, I know :(
    for($i = 0; $i < count($information[0]); $i++){

    preg_match_all("/Velkommen (.+?)\"/sim", $information[0][$i], $text, PREG_SET_ORDER);

    $psychologist[$i]['text'] = mysql_real_escape_string($text[0][1]);
    }

    感谢任何能解决这个难题的人,来自美妙的丹麦。

    最佳答案

    尝试这样的事情:

    <?php

    $web = "http://www.psykologdorthelau.dk/";
    $website = file_get_contents ($web);

    // TRY TO FIND ALL OF THE MATCHES
    preg_match_all('/velkommen.{1,351}/ims', $website, $matches);

    // PULL OUT THE LAST ITEM FROM THE `$matches`
    $last_velkommen = array_pop($matches[0]);

    关于php - 使用 RegEx 将抓取限制为 X 个字符 + 其他规范,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21819599/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com