【求教】用BeautifulSoup正确的抓取姿势(抓取如图所示的标签?)

图片描述

我写了一条目的是抓取b中的数字8

pgNum = soup.find_all(class_ = 'p-skip')[0].find_all('b')[0]

但提示的是'index out of range' 0.0
然后呢有测试了下仅仅抓取p-skip

pgNum = soup.find_all(class_ = 'p-skip')

返回的结果是 空集。。。
所以正确的抓取姿势是神马。。

附:html地址
view-source:http://search.jd.com/Search?keyword=%E5%...

阅读 5.6k
4 个回答

我直接复制了你的代码,然后用的下面的测试数据:

<span class="p-skip">\n<em><b>8</b>页</em></span>

没有任何问题, 下次建议你把html也贴出来

for item in soup.find_all('span', attrs={'class': 'p-skip'}):
    if item.b:
        print item.b.string

谢谢各位帮我找了问题、源文件里p标签是通过js实现的
@zhimingpy @shomy

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题