首页 > 解决方案 > 从标签中提取href后得到#

问题描述

试图抓取https://www.pagesjaunes.fr/annuaire/marseille-13/jardinier,我遇到了分页问题。下一页的链接存储在标签中。我在 ['href'] 之后得到 # 而不是链接

tree = html.fromstring(response.text)
soup = BeautifulSoup(response.text, 'html.parser')
Footer = soup.find(class_='result-footer')
divpagination= Footer.find(class_='pagination')
atag=divpagination.find("a", {"id": "pagination-next"})
print(atag.get('href'))
Output : #

注意:我在没有 Accept-Encoding 标头的情况下发出请求,这样服务器就不会压缩要发送的消息

html 标签 : Suivant

用beautifulsoup 标记:

被告人

标签: python-3.xweb-scrapingbeautifulsoup

解决方案


如您所见,如果您在浏览器中检查页面的源代码(或只是打印它),此链接使用 js 进行导航。

标签还有其他(非标准)属性,因此您最终可以尝试对整个事物进行逆向工程(检查标签属性值,单击浏览器中的链接并与新页面的有效 url 进行比较)。

如果它不起作用,那么您将需要一个无头浏览器和代码来驱动它(selenium 是规范的 python 解决方案)。


推荐阅读