【发布时间】:2018-07-30 04:51:05
【问题描述】:
我正试图从一个相当大的服装网站页面中提取产品信息,但汤似乎只在任意截断处刮掉了 html 文档的下半部分,所以我感兴趣的数据实际上并不是在我的汤里。我在另一个网站上试过了,效果很好,所以我认为它是特定于网站的。
这是我的代码:
from bs4 import BeautifulSoup
import requests
r = requests.get("https://www.pullandbear.com/rs/man/sale-c1030036006.html")
soup = BeautifulSoup(r.content, "html.parser")
print(soup.prettify())
【问题讨论】:
-
看起来你想要的可能是由 javascript 呈现的,afaik 不会出现在 BS4 中
-
使用任意浏览器模拟器抓取动态内容。
-
@novice-coder 试过了。没用。
-
@aws_apprentice 这仍然不能解释为什么我的汤没有整个页面的前半部分。例如,它不包含开始的 html 和 body 标记,但它包含在文档末尾的结束标记。
-
内容是在 js 事件中加载的,因此 bs4 无法找到元素。尝试使用 selenium 获取整个网页,保存 html 并使用 bs4 做你的事情......
标签: python web-scraping beautifulsoup