![]() | 1 pimin 2016-05-07 01:58:58 +08:00 via Android ![]() 直接解析 HTML 不就可以了 一般用 lxml 比较多 |
2 TaoAlpha 2016-05-07 02:46:14 +08:00 ![]() .findAll(text=True) 可以直接提取 text, 忽略内部所有嵌套的 tag. |
3 ahcat 2016-05-07 03:19:03 +08:00 via iPhone ![]() 不用 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 有比较好的了解,能够领悟吧(为自己没仔细看找借口)……… |