diff --git a/sites/xenforo.py b/sites/xenforo.py index 83cefff..386ac0f 100644 --- a/sites/xenforo.py +++ b/sites/xenforo.py @@ -3,6 +3,8 @@ import datetime import re import logging +from bs4 import BeautifulSoup + from . import register, Site, SiteException, SiteSpecificOption, Section, Chapter logger = logging.getLogger(__name__) @@ -115,7 +117,26 @@ class XenForo(Site): base = soup.head.base.get('href') soup = self._soup(base + href) - marks = soup.select('.threadmarks li.primaryContent.threadmarkListItem a, .threadmarks li.primaryContent.threadmarkItem a') + fetcher = soup.find(class_='ThreadmarkFetcher') + while fetcher: + # ThreadmarksPro, hiding some threadmarks. Means the API is available to do this. + # Note: the fetched threadmarks can contain more placeholder elements to fetch. Ergo, loop. + # Good test case: https://forums.sufficientvelocity.com/threads/ignition-mtg-multicross-planeswalker-pc.26099/threadmarks + # e.g.: