python 用lxml如何解析如何获取p标签下的所有文本内容?

weixin_43870330 2019-04-25 07:35:00
如图中的内容该如何获取呢?
...全文
2365 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_43870330 2019-04-25
  • 打赏
  • 举报
回复
引用 20 楼 Timor__的回复:
因为我这种写法只有一个值
嗯嗯,谢谢。占用了你那么多时间
Timor__ 2019-04-25
  • 打赏
  • 举报
回复
因为我这种写法只有一个值
Timor__ 2019-04-25
  • 打赏
  • 举报
回复
对,我是这么写的p= div.xpath("./p/text()")[0]
weixin_43870330 2019-04-25
  • 打赏
  • 举报
回复
引用 17 楼 Timor__的回复:
上面那个循环就是循环全部的p标签
xpath匹配的都是列表吧
Timor__ 2019-04-25
  • 打赏
  • 举报
回复
上面那个循环就是循环全部的p标签
weixin_43870330 2019-04-25
  • 打赏
  • 举报
回复
引用 13 楼 Timor__的回复:
那我就不知道了,我都是这么爬的
etree的xpath匹配标签中的内容好像只能获取第一段
Timor__ 2019-04-25
  • 打赏
  • 举报
回复
还有这个texts这个值表示一个p标签的值,不用循环了
weixin_43870330 2019-04-25
  • 打赏
  • 举报
回复
引用 10 楼 Timor__的回复:
mainbodys = html.xpath("//div[@class='entry-content']") for div in mainbodys : p= div.xpath("./p/text()") 你这样试一下
估计只能换bs4解析了
Timor__ 2019-04-25
  • 打赏
  • 举报
回复
那我就不知道了,我都是这么爬的
weixin_43870330 2019-04-25
  • 打赏
  • 举报
回复
引用 10 楼 Timor__ 的回复:
mainbodys = html.xpath("//div[@class='entry-content']") for div in mainbodys : p= div.xpath("./p/text()") 你这样试一下
weixin_43870330 2019-04-25
  • 打赏
  • 举报
回复
引用 10 楼 Timor__ 的回复:
mainbodys = html.xpath("//div[@class='entry-content']") for div in mainbodys : p= div.xpath("./p/text()") 你这样试一下
试了不行
Timor__ 2019-04-25
  • 打赏
  • 举报
回复
mainbodys = html.xpath("//div[@class='entry-content']") for div in mainbodys : p= div.xpath("./p/text()") 你这样试一下
weixin_43870330 2019-04-25
  • 打赏
  • 举报
回复
引用 8 楼 Timor__ 的回复:
看一下你代码呢
这就是获取p标签下文本内容的代码
Timor__ 2019-04-25
  • 打赏
  • 举报
回复
看一下你代码呢
weixin_43870330 2019-04-25
  • 打赏
  • 举报
回复
引用 6 楼 Timor__的回复:
内容缺失?没爬取完?还是怎么的
是爬取不到这个p标签下的文本内容
Timor__ 2019-04-25
  • 打赏
  • 举报
回复
内容缺失?没爬取完?还是怎么的
weixin_43870330 2019-04-25
  • 打赏
  • 举报
回复
引用 3 楼 Timor__的回复:
你会正则的法你可以直接用正则简单些,不会的话你可以用这种麻烦一点的办法,选中你要获取内容的标签右击选择copy xpath
在游览器里用xpath可以匹配到所有p标签里的内容。但用etree的xpath解析匹配的都是这个p标签里的内容缺失
weixin_43870330 2019-04-25
  • 打赏
  • 举报
回复
现在就是xpath匹配不到,//text()和string(.)都试过了。我这整个请求到的页面都是xpath匹配的。如果换方式的话修改量会比较大。
Timor__ 2019-04-25
  • 打赏
  • 举报
回复
你会正则的法你可以直接用正则简单些,不会的话你可以用这种麻烦一点的办法,选中你要获取内容的标签右击选择copy xpath
  • 打赏
  • 举报
回复
lxml比较简单, 百度一大堆。//*[@id="post-403831275"]/dl/dd/div[1]
加载更多回复(1)

37,743

社区成员

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

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