:py:mod:`generic.mixins.read_more` ================================== .. py:module:: generic.mixins.read_more .. autodoc2-docstring:: generic.mixins.read_more :allowtitles: Module Contents --------------- Classes ~~~~~~~ .. list-table:: :class: autosummary longtable :align: left * - :py:obj:`ReadMoreCompatible ` - * - :py:obj:`ReadMoreMixinConfig ` - * - :py:obj:`ReadMoreMixin ` - .. autodoc2-docstring:: generic.mixins.read_more.ReadMoreMixin :summary: API ~~~ .. py:class:: ReadMoreCompatible :canonical: generic.mixins.read_more.ReadMoreCompatible Bases: :py:obj:`typing.Protocol` .. py:attribute:: args :canonical: generic.mixins.read_more.ReadMoreCompatible.args :type: generic.spiders.base.GenericSpiderConfig :value: None .. autodoc2-docstring:: generic.mixins.read_more.ReadMoreCompatible.args .. py:attribute:: logger :canonical: generic.mixins.read_more.ReadMoreCompatible.logger :type: any :value: None .. autodoc2-docstring:: generic.mixins.read_more.ReadMoreCompatible.logger .. py:class:: ReadMoreMixinConfig(/, **data: typing.Any) :canonical: generic.mixins.read_more.ReadMoreMixinConfig Bases: :py:obj:`generic.spiders.base.GenericSpiderConfig` .. py:attribute:: read_more :canonical: generic.mixins.read_more.ReadMoreMixinConfig.read_more :type: str :value: '記事全文を読む' .. autodoc2-docstring:: generic.mixins.read_more.ReadMoreMixinConfig.read_more .. py:attribute:: read_more_xpath :canonical: generic.mixins.read_more.ReadMoreMixinConfig.read_more_xpath :type: typing.Optional[str] :value: None .. autodoc2-docstring:: generic.mixins.read_more.ReadMoreMixinConfig.read_more_xpath .. py:attribute:: read_next :canonical: generic.mixins.read_more.ReadMoreMixinConfig.read_next :type: str :value: '次へ' .. autodoc2-docstring:: generic.mixins.read_more.ReadMoreMixinConfig.read_next .. py:attribute:: read_next_contains :canonical: generic.mixins.read_more.ReadMoreMixinConfig.read_next_contains :type: typing.Optional[str] :value: None .. autodoc2-docstring:: generic.mixins.read_more.ReadMoreMixinConfig.read_next_contains .. py:attribute:: source_contains :canonical: generic.mixins.read_more.ReadMoreMixinConfig.source_contains :type: typing.Optional[str] :value: None .. autodoc2-docstring:: generic.mixins.read_more.ReadMoreMixinConfig.source_contains .. py:attribute:: source_parent_contains :canonical: generic.mixins.read_more.ReadMoreMixinConfig.source_parent_contains :type: typing.Optional[str] :value: None .. autodoc2-docstring:: generic.mixins.read_more.ReadMoreMixinConfig.source_parent_contains .. py:class:: ReadMoreMixin :canonical: generic.mixins.read_more.ReadMoreMixin .. autodoc2-docstring:: generic.mixins.read_more.ReadMoreMixin .. py:method:: parse_summary_page(res: scrapy.http.Response) :canonical: generic.mixins.read_more.ReadMoreMixin.parse_summary_page .. autodoc2-docstring:: generic.mixins.read_more.ReadMoreMixin.parse_summary_page .. py:method:: parse_article(res: scrapy.http.Response, item: generic.items.ArticleItem = None) :canonical: generic.mixins.read_more.ReadMoreMixin.parse_article .. autodoc2-docstring:: generic.mixins.read_more.ReadMoreMixin.parse_article .. py:method:: parse_source_only(res: scrapy.http.Response, parent_item: generic.items.ArticleItem, remaining_urls: list[str]) :canonical: generic.mixins.read_more.ReadMoreMixin.parse_source_only .. autodoc2-docstring:: generic.mixins.read_more.ReadMoreMixin.parse_source_only .. py:method:: _find_read_more_link(res: scrapy.http.Response) -> str :canonical: generic.mixins.read_more.ReadMoreMixin._find_read_more_link .. autodoc2-docstring:: generic.mixins.read_more.ReadMoreMixin._find_read_more_link .. py:method:: _find_next_page_link(res: scrapy.http.Response) -> str :canonical: generic.mixins.read_more.ReadMoreMixin._find_next_page_link .. autodoc2-docstring:: generic.mixins.read_more.ReadMoreMixin._find_next_page_link .. py:method:: _merge_article_body(base_item: generic.items.ArticleItem, next_res: scrapy.http.Response) -> generic.items.ArticleItem :canonical: generic.mixins.read_more.ReadMoreMixin._merge_article_body .. autodoc2-docstring:: generic.mixins.read_more.ReadMoreMixin._merge_article_body .. py:method:: _find_source_links(res: scrapy.http.Response) -> typing.List[str] :canonical: generic.mixins.read_more.ReadMoreMixin._find_source_links .. autodoc2-docstring:: generic.mixins.read_more.ReadMoreMixin._find_source_links .. py:method:: _find_and_request_sources(res: scrapy.http.Response, item: generic.items.ArticleItem) :canonical: generic.mixins.read_more.ReadMoreMixin._find_and_request_sources .. autodoc2-docstring:: generic.mixins.read_more.ReadMoreMixin._find_and_request_sources .. py:method:: _request_next_source(item: generic.items.ArticleItem, urls: list[str]) :canonical: generic.mixins.read_more.ReadMoreMixin._request_next_source .. autodoc2-docstring:: generic.mixins.read_more.ReadMoreMixin._request_next_source