【问题标题】:php crawler for website with ajax content and https用于具有 ajax 内容和 https 的网站的 php 爬虫
【发布时间】:2011-08-02 10:44:08
【问题描述】:

我正在尝试基于 ajax 和 https 抓取网站的内容,但没有成功。

这可能吗?

我要抓取的网站是这样的:

https://www.bet3000.com/en/html/home.html#!https://www.bet3000.com/html/en/eventssportsbook.html?category_id=2117

谢谢

【问题讨论】:

    标签: php ajax curl web-crawler


    【解决方案1】:

    如果您查看此页面正在执行的 HTTP 请求(例如,使用 Firebug for Firefox),您会注意到它发出了多个 Ajax 请求。

    除了尝试执行 Javascript 代码之外,一种可能的解决方案是让您请求其中一个 URL 并获取数据——您也不必通过这种方式解析 HTML。


    在这种特定情况下,向以下 URL 发出这些请求之一:

    https://www.bet3000.com/ajax/en/sportsbook.json.html?category_id=2117&offset=&live=&sportsbook_id=0
    

    这个 URL 似乎返回了一些 JSON 数据,你应该会很感兴趣 ;-)
    (JSON 前后有几个字符需要删除,但除此之外,我看不出有什么不好的地方。)

    【讨论】:

    • 再次嗨 :) 我试图获取该 url 的内容,但没有成功。我使用了 curl 和 file_get_contents 但我得到了空值,但是如果我把那个 url 放在浏览器中我会得到结果......我怎样才能得到那个内容?谢谢?
    • 好的;我做到了... function file_get_contents_curl($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_FAILONERROR, 0); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $res = curl_exec($ch); curl_close ($ch);返回 $res; }
    猜你喜欢
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 2023-04-06
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多