rss-bridge icon indicating copy to clipboard operation
rss-bridge copied to clipboard

Platinmods.com

Open Djeremaille opened this issue 4 years ago • 5 comments

Bridge request

General information

  • Host URI for the bridge (i.e. https://github.com): https://platinmods.com

  • Which information would you like to see? I would like to be able to see the list of last tested apps here: https://platinmods.com/advancedsearch/advancedsearch-results?type=thread&keywords=&posted_by=&search_forums%5B%5D=156

  • How should the information be displayed/formatted? Formated like in the result on the site

  • Which of the following parameters do you expect?

    • [X] Title
    • [X] URI (link to the original article)
    • [X] Author
    • [X] Timestamp
    • [X] Content (the content of the article)
    • [ ] Enclosures (pictures, videos, etc...)
    • [X] Categories (categories, tags, etc...)

Options

  • [ ] Limit number of returned items
    • Default limit: 5
  • [ ] Load full articles
    • Cache articles (articles are stored in a local cache on first request): yes
    • Cache timeout (max = 24 hours): 24 hours
  • [X] Balance requests (RSS-Bridge uses cached versions to reduce bandwith usage)
    • Timeout (default = 5 minutes, max = 24 hours): 5 minutes

Of course It would be even better to be able to enter search parameters but for the moment this is what I need.

Djeremaille avatar Jan 11 '21 13:01 Djeremaille

So I had some results. I know nothing about php and how to filter elements. The 3 major problems are:

  • The first line is the header of the table: how to avoid that?
  • I have been able to get only 1 Item $element->find('.dataList-cell a', 0)->innertext;
  • From web browser i can see the list as it is on the source site ~~but from akregator i have only the last line.~~ (Edit)I know have the 1000 results. I wait for an update to see. Here is the source of the page: https://platinmods.com/advancedsearch/advancedsearch-results?type=thread&keywords=&posted_by=&search_forums%5B%5D=156
<div class="block-container">
<div class="block-body">
<div class="dataList " data-xf-init="responsive-data-list">
<table class="dataList-table">
<tr class="dataList-row dataList-row--header dataList-row--noHover">
<th class="dataList-cell">Date</th>
<th class="dataList-cell">Thread title</th>
<th class="dataList-cell">Replies</th>
<th class="dataList-cell">Forum</th>
<th class="dataList-cell">Thread starter</th>
</tr>
<tr class="dataList-row dataList-row--noHover">
<td class="dataList-cell"><time class="u-dt" dir="auto" datetime="2021-01-15T21:31:24+0000" data-time="1610746284" data-date-string="Jan 15, 2021" data-time-string="9:31 PM" title="Jan 15, 2021 at 9:31 PM">Friday at 9:31 PM</time></td>
<td class="dataList-cell dataList-cell--link"><a href="/threads/colorize-it-colorize-black-and-white-photos-v1-1-6-premium.122133/">Colorize it - Colorize Black and White Photos v1.1.6 [Premium]</a></td>
<td class="dataList-cell">3</td>
<td class="dataList-cell">Tested Android Apps</td>
<td class="dataList-cell">Aqualax</td>
</tr>
<tr class="dataList-row dataList-row--noHover">
<td class="dataList-cell"><time class="u-dt" dir="auto" datetime="2021-01-15T21:22:24+0000" data-time="1610745744" data-date-string="Jan 15, 2021" data-time-string="9:22 PM" title="Jan 15, 2021 at 9:22 PM">Friday at 9:22 PM</time></td>
<td class="dataList-cell dataList-cell--link"><a href="/threads/video-player-oplayer-v5-00-17-pro-unlocked.122131/">Video Player - OPlayer v5.00.17 [Pro] [Unlocked]</a></td>
<td class="dataList-cell">2</td>
<td class="dataList-cell">Tested Android Apps</td>
<td class="dataList-cell">Aqualax</td>
</tr>
<tr class="dataList-row dataList-row--noHover">
<td class="dataList-cell"><time class="u-dt" dir="auto" datetime="2021-01-15T19:54:40+0000" data-time="1610740480" data-date-string="Jan 15, 2021" data-time-string="7:54 PM" title="Jan 15, 2021 at 7:54 PM">Friday at 7:54 PM</time></td>
<td class="dataList-cell dataList-cell--link"><a href="/threads/kmplayer-plus-divx-codec-video-player-music-v31-01-150-paid.122121/">KMPlayer Plus (Divx Codec) - Video player &amp; Music v31.01.150 [Paid]</a></td>
<td class="dataList-cell">2</td>
<td class="dataList-cell">Tested Android Apps</td>
<td class="dataList-cell">Aqualax</td>
</tr>

And my bridge:

<?php
class PlatinmodsBridge extends BridgeAbstract {

        const MAINTAINER = 'djeremaille';
        const NAME = 'Platinmods Bridge';
        const URI = 'https://platinmods.com';
        const DESCRIPTION = 'Returns newest tested android apps';

        public function collectData(){
                $html = '';
                $html = getSimpleHTMLDOM(static::URI . '/advancedsearch/advancedsearch-results?type=thread&keywords=&posted_by=&search_forums[]=156')
                        or returnClientError('No results for this query.');

                foreach($html->find('.dataList-table tr') as $element) {
                        $item = array(); // Create an empty item

                        $item['title'] = $element->find('.dataList-cell a', 0)->innertext;


                        $item['uri'] = '' ;


                        $item['content'] = $element->find('.dataList-cell--link a', 0)->innertext;

                        $item['timestamp'] = 'Time';

                        $item['author'] = 'Author';

                        $this->items[] = $item; // Add item to the list
                }

        }
}


Can someone give me some clues to achieve that please?

Djeremaille avatar Jan 17 '21 08:01 Djeremaille

I managed to do near all what I wanted except the first result which is the header of the table. How can I display table rows EXCEPT the header?

The bridge for the moment:

<?php
class PlatinmodsBridge extends BridgeAbstract {

        const MAINTAINER = 'djeremaille';
        const NAME = 'Platinmods Bridge';
        const URI = 'https://platinmods.com';
        const DESCRIPTION = 'Returns newest tested android apps';

        public function collectData(){
                $html = '';

                $html = getSimpleHTMLDOM(static::URI . '/advancedsearch/advancedsearch-results?type=thread&keywords=&posted_by=&search_forums[]=156')
                        or returnClientError('No results for this query.');

                $url = '';

                foreach($html->find('.dataList-table tr') as $element) {
                        $item = array(); // Create an empty item

                        $item['title'] = $element->find('.dataList-cell a', 0)->innertext;

                        $item['uri'] = static::URI . ($element->find('.dataList-cell--link a', 0)->href);

                        $item['content'] = '';

                        $item['timestamp'] = strtotime($element->find('.dataList-cell time', 0)->datetime);

                        $item['author'] = $element->find('.dataList-cell ', 4)->innertext;

                        $this->items[] = $item; // Add item to the list
                }

        }
}


Djeremaille avatar Jan 18 '21 17:01 Djeremaille

Ok I added an if statement at the beginning of the loop and it seems to work.

foreach($html->find('.dataList-table tr') as $element) {

                        if (($element->find('.dataList-cell ', 4)->innertext) == 'Thread starter')  continue;

Thanks for your non-help as I learn a little bit ;-)

Djeremaille avatar Jan 18 '21 18:01 Djeremaille

No they have put cloudflare .... Arghhh!

Djeremaille avatar Jan 18 '21 18:01 Djeremaille

There is also https://platinmods.com/forums/-/index.rss which could possibly be filtered.

dvikan avatar Apr 13 '22 23:04 dvikan