1
pimin 2016-05-07 01:58:58 +08:00 via Android 1
直接解析 HTML 不就可以了
一般用 lxml 比较多 |
2
TaoAlpha 2016-05-07 02:46:14 +08:00 1
.findAll(text=True) 可以直接提取 text, 忽略内部所有嵌套的 tag.
|
3
ahcat 2016-05-07 03:19:03 +08:00 via iPhone 1
不用 string ,用 get_text ()
|
4
a412739861 OP @pimin
获取网页时,解析用的是 HTML ,代码是 BeautifulSoup(html.content, "html.parser") 本地 open 时,好像无法选择, open (地址),无法加上 html.parser @TaoAlpha findAll(text=True)时,的确会直接提取整个 html 的 text 。 但是一旦我加上 BS 的 find_all("tr"), name 参数,再加上 keywords 查找对应 tag 里面含有某个属性的筛选条件时,就不行了,只打印出[]。 搜索到的一个文档,说「如果你使用 text ,任何指定给 name 以及 keyword 参数的值都会被忽略。」。 看了下文档, text 可以接受正则,我把搜索条件用正则写在 text=re.compile("pattern"),取出掉前面的 name 和 keywords 参数,的确能够直接搜索到要内容。^_^ @ahcat 这方法我喜欢,简单粗暴直接有效! 特意在文档里搜索,写的是返回文字内容。没写对这些的标签的处理,大概作者认为使用者都是 html 有比较好的了解,能够领悟吧(为自己没仔细看找借口)……… |