请教:requests_html库find内容为空

EE漫谈 2019-08-12 07:20:20
各位大佬:请教个问题,在使用requests_html库练习抓取百度热榜时,出现find为空的问题。代码如下:

In [2]: from requests_html import HTMLSession

In [3]: url = 'http://top.baidu.com/buzz?b=1&fr=20811'

In [4]: webdata = HTMLSession().get(url)

对链接标题通过css选择器选择元素并复制:copy-->copy selector

想查找复制的值:

In [5]: webdata.html.find('#main > div.mainBody > div > table > tbody > tr:nth-child(4) > td.keyword > a.list-title')

但得到的结果如下:
Out[6]: []

本来预期希望得到包含element元素的数组。结果确是空的。

webdata确认有值,通过如下代码

In [6]: print(webdata.html.text)
可以看到如下结果


我用同样的方式,在有些网站上抓取就没问题。

请教一下是怎么回事?

麻烦了,谢谢!
...全文
414 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 6 楼 EE漫谈 的回复:
有没有朋友能帮忙解答下的
那样也是没啥问题的,不过有时候层级写的过多就容易出错。 另外xpath在匹配的时候匹配不到tbody的。我不知道他这个html.find是不是也不能匹配。
EE漫谈 2019-08-21
  • 打赏
  • 举报
回复
有没有朋友能帮忙解答下的
EE漫谈 2019-08-19
  • 打赏
  • 举报
回复
请教下,将'#main > div.mainBody > div > table > tbody > tr:nth-child(4) > td.keyword > a.list-title'这作为find的内容,有什么问题? 麻烦了,谢谢!
  • 打赏
  • 举报
回复

from requests_html import HTMLSession
url = 'http://top.baidu.com/buzz?b=1&fr=20811'
webdata = HTMLSession().get(url)
s = webdata.html.find('a.list-title')
for i in s:
    print(i.text)

  • 打赏
  • 举报
回复
find 里面的 写错了
EE漫谈 2019-08-17
  • 打赏
  • 举报
回复
有没有能帮忙解答一下的
EE漫谈 2019-08-13
  • 打赏
  • 举报
回复
有没有朋友能帮忙解答一下

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧