diff --git a/recipes/wsj.recipe b/recipes/wsj.recipe index 13ec7e607c..8cf03260b7 100644 --- a/recipes/wsj.recipe +++ b/recipes/wsj.recipe @@ -147,18 +147,13 @@ class WSJ(BasicNewsRecipe): root = self.index_to_soup(url, as_tree=True) CSSSelect = Select(root) articles = [] - for container in CSSSelect('.style__grid_3gzjbqouVfPMK84Adb3MFE .article'): - meta = next(CSSSelect('.type', container)) - parent = meta.getparent() - meta = self.tag_to_string(meta) - title = next(CSSSelect('.title', parent)) - a = next(CSSSelect('a', title)) + for container in root.xpath('descendant::div[contains(@class, "WSJTheme__list-item_")]'): + heading = next(CSSSelect('h2, h3', container)) + a = next(CSSSelect('a', heading)) title = self.tag_to_string(a) - if meta: - title += ' [%s]' % meta url = self.abs_wsj_url(a.get('href')) desc = '' - for p in CSSSelect('p.description', container): + for p in container.xpath('descendant::p[contains(@class, "WSJTheme__description_")]'): q = self.tag_to_string(p) if 'Subscriber Content' in q: continue diff --git a/recipes/wsj_free.recipe b/recipes/wsj_free.recipe index d521ebd7a7..831c483c41 100644 --- a/recipes/wsj_free.recipe +++ b/recipes/wsj_free.recipe @@ -147,18 +147,13 @@ class WSJ(BasicNewsRecipe): root = self.index_to_soup(url, as_tree=True) CSSSelect = Select(root) articles = [] - for container in CSSSelect('.style__grid_3gzjbqouVfPMK84Adb3MFE .article'): - meta = next(CSSSelect('.type', container)) - parent = meta.getparent() - meta = self.tag_to_string(meta) - title = next(CSSSelect('.title', parent)) - a = next(CSSSelect('a', title)) + for container in root.xpath('descendant::div[contains(@class, "WSJTheme__list-item_")]'): + heading = next(CSSSelect('h2, h3', container)) + a = next(CSSSelect('a', heading)) title = self.tag_to_string(a) - if meta: - title += ' [%s]' % meta url = self.abs_wsj_url(a.get('href')) desc = '' - for p in CSSSelect('p.description', container): + for p in container.xpath('descendant::p[contains(@class, "WSJTheme__description_")]'): q = self.tag_to_string(p) if 'Subscriber Content' in q: continue