Html.parser Python не может получить части веб-страницы (содержимое панелей с вкладками) - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь получить содержимое: https://www.towncity.com/property/whole-hotel-for-sale-in-riverside-area/ как это:

class LinkParser(HTMLParser):
    def handle_starttag(self, tag, attrs):
        if tag == 'a':
            for (key, value) in attrs:
                if key == 'href':
                    newUrl = parse.urljoin(self.baseUrl, value)
                    self.links = self.links + [newUrl]

    def getLinks(self, url):
        self.links = []
        self.baseUrl = url

        timeOut = False
        try:
            req = Request(url, headers={'User-Agent': 'Mozilla/5.0'})
            response = urlopen(req,timeout=20)
        except:
            timeOut = True
            print(url,'timed out')

        if timeOut:
            return "timeOut",[]

        if 'text/html' in response.getheader('Content-Type') and not timeOut:
            htmlBytes = response.read()
            try:
                htmlString = htmlBytes.decode("utf-8")
            except:
                htmlString = htmlBytes.decode("ISO-8859-1")
            self.feed(htmlString)
            return htmlString, self.links
        else:
            return "",[]

parser = LinkParser()
data, links = parser.getLinks("https://www.towncity.com/property/whole-hotel-for-sale-in-riverside-area/")

То, что я получаю, отличается от фактического содержимого страницы (как видно из источника просмотра Chrome). Я заметил, что чего-то не хватает в окнах с вкладками на страницах, не так ли? Если да, то как мне получить весь контент со страниц?

...