问题标签 [bs4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python Beautiful Soup 'ascii' 编解码器无法编码字符 u'\xa5'
在网页抓取页面的某些元素时,我遇到了一些奇怪的字符。似乎给出错误的字符是:
? ?? ?????? /?? />? /????/¢¥Á ??%% ?Á ? ????一个??> /???¥??> ¥? ¥©Á ?>¢¥/%%/¥??> ? >Á? 一个?Á ©???¢ ñ%Á?¥???/% Á%Á?¥??>?? />? ???? ??¥?? ??¢¥????¥??> ¢`¢¥Á ¢ ??%% ?Á ??À?/?Á? 日元?_ÁÁ¥ ?>??Á/¢?>À Á???? Á>¥ ?? ??¥Á? />? ??__?>??/¥??>¢ ?Á
我的代码如下
页面:http ://www.nsf.gov/awardsearch
我阅读了有关此错误的所有页面,其中一些建议解码和编码,但它们似乎没有帮助。我不知道这里使用的是哪种编码。尝试降级 BS 版本但没有帮助。任何帮助表示赞赏。蟒蛇 2.7 BS 4
python - 使用bs4 python解析xml时如何保留“和”
我正在使用 bs4 解析一个 xml 文件并再次将其写回一个新的 xml 文件。
输入文件:
脚本:
输出:
我想保留"
和'
。我尝试使用编码格式化程序的所有选项 - 最小、xml、html、无。但他们都没有解决这个问题。
"
然后我尝试手动替换 " 。
但这给出了以下输出
它将 & 替换为&
. 我在这里很困惑。请帮我解决这个问题。
python - 使用 Beautifulsoup 解析时保持 XML 文件的缩进
我正在使用 BS4 解析 XML 文件并尝试将其写回新的 XML 文件。
输入文件:
脚本:
输出:
我想保留输入文件的缩进。我尝试使用美化选项。
输出美化:
但这不是我想要的。我想保持输入文件中标签的精确缩进。
python - BeautifulSoup (bs4) 解析错误
使用来自 python 2.7.6 的 bs4 解析此示例文档:
使用:
很长一段时间以来,HTML 都允许省略各种元素类型的结束标记,包括 P(检查架构或解析器)。但是,本文档中 bs4 的 prettify() 表明它在看到 </body> 之前不会结束任何这些段落:
这不是 prettify() 的错,因为手动遍历树我得到了相同的结构:
现在,这将是 XML 的正确结果(至少到 </body>,此时它应该报告 WF 错误)。但这不是 XML。是什么赋予了?
python - 使用 BeautifulSoup 在多个页面上编写循环
我正在尝试从县搜索工具中抓取几页结果:http ://www2.tceq.texas.gov/oce/waci/index.cfm?fuseaction=home.main
但我似乎无法弄清楚如何迭代不仅仅是第一页。
我只在输出 CSV 中获得了第一页的结果。在查看使用 bs4 的其他抓取示例后,我尝试添加导入请求循环,但收到错误消息“ImportError:没有名为请求的模块。”
关于我应该如何遍历所有八页结果以将它们放入 .csv 的任何想法?
python - 提取存储的html文件的URL
我已经存储了一些 html 文件并重命名了它们。是否有一些可能的方法可以在 python 中提取 html 文件的 URL。
编辑:我希望找到 .html 文件的 URL,而不是其中存在的链接。我正在寻找一种通用方法,因为我有很多文件。
python - 从存储的 .html 页面中提取新闻文章内容
我正在从 html 文件中读取文本并进行一些分析。这些 .html 文件是新闻文章。
代码:
现在我只想要文章内容而不是广告、标题等其余文本。我怎样才能在 python 中相对准确地做到这一点?
我知道一些工具,如 Jsoup(一个 java api)和bolier,但我想在 python 中这样做。我可以找到一些使用bs4的技术,但仅限于一种类型的页面。我有来自众多来源的新闻页面。此外,缺乏任何示例代码示例。
我在 python 中寻找与http://www.psl.cs.columbia.edu/wp-content/uploads/2011/03/3463-WWWJ.pdf完全一样的东西。
编辑: 为了更好地理解,请编写示例代码以提取以下链接的内容http://www.nytimes.com/2015/05/19/health/study-finds-dense-breast-tissue-isnt-always -a-high-cancer-risk.html?src=me&ref=general
python - 子类化 Python 类,其中许多方法创建同一类的新实例
我想扩展一个处理 HTML 或 XML 结构的 Python (2.7) 类。目前我正在摆弄 bs4,但这对于这个问题可能并不重要。
我想添加一堆执行更高级别操作的函数;比如说,操作整个表格列,排序列表子元素等。所以我定义了一个子类
到目前为止还好。但是原始类(以及相关的,如 Tag、NavigableString 等)已经有各种实例化 bs4 对象的方法,例如 new_tag() 用于制作“Tag”(元素),new_string() 用于制作 NavigableString(文本节点) ) 等。与基于 DOM 的类或任何处理递归数据结构的包相同。
这是否意味着我必须在每个与 bs4 相关的类中找到实例化与 bs4 相关的对象的每个位置,以及子类和覆盖,以便它们都实例化我的类?这似乎非常乏味。
更糟糕的是,它似乎很容易出现细微的错误。例如,bs4 构造函数从解析的 HTML 或 XML 构造一个准 DOM 树;但这样做时它可能会或可能不会调用 new_tag() 。它可能只是说类似
在这种情况下,我会将 BeautifulSoup 和 Tag 和 NavigableString 对象的实例混合到我的 myBS4 和 myTag 和 myNavigableString 对象树中。当被要求在非扩展节点上执行扩展操作时,调用将失败。
所以覆盖 new_tag() 等可能不够;了解您是否获得所有案例的唯一方法是研究(或 grep)整个 bs4 实现。并且 bs4 更新很可能会破坏它,即使实际上根本没有触及 bs4 本身的概念性理由。
有没有解决这个问题的干净方法?我考虑过mixin,但据我所知,我仍然必须将bs4子类化才能引入mixin,所以它无济于事。我完全错过了什么吗?
python - BS4 和 onclick():如何进行操作?
为了获取信息用户必须单击此链接:
如何让它被按下bs4
?或者也许还有其他解决方案?