我正在尝试抓取一个网站,并且我使用的是find_all,但它仅返回页面中的最后一个div,而忽略了其他两个!任何想法?
这是Chrome检查器检查的来源:
Handler handler = new Handler();
int[] colors = {Color.BLUE, Color.WHITE, Color.YELLOW, Color.GREEN};
int i;
Runnable runnable = new Runnable () {
@Override
public void run() {
i = i % colors.length;
yourView.setTextColor(colors[i]);
i++;
handler.postDelayed(this, 1000);
}
}
handler.postDelayed(runnable, 1000);
我检查了网站的源代码,仅发现一个具有相同名称的div:
<div id="listDesc" class="pane show pane"> ... <div> ==$0
<p> ... </p>
<p> ... </p>
<div id="listDesc" class="pane show pane"> ... <div>
<p> ... </p>
<p> ... </p>
<p> ... </p>
<div id="listDesc" class="pane show pane"> ... <div>
<p> ... </p>
<p> ... </p>
我尝试了不同的方法分别刮除div,尽管那也行不通!这是我正在使用的代码。
<div id="listDesc" class="pane showpane">
如何获取所有三个div的内容?
答案 0 :(得分:1)
我能够通过遍历id来修复它:
for match in soup.find_all('div', id="listDesc"):
print(match.text)