问题标签 [beautifulsoup]
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 - 最接近 Ruby 的美丽汤的等价物是什么?
我喜欢 Python 中的 Beautiful Soup 抓取库。它只是工作。Ruby 中有没有类似的东西?
python - HTML 实体代码到文本
有谁知道在 Python 中将带有 HTML 实体代码(例如<
&
)的字符串转换为普通字符串(例如 < &)的简单方法?
cgi.escape()
将转义字符串(很差),但没有unescape()
.
python - 为什么 Beautiful Soup 会截断此页面?
我正在尝试从我的学校图书馆订阅的资源列表中提取资源/数据库名称和 ID 列表。有些页面列出了不同的资源,我可以使用 urllib2 来获取页面,但是当我将页面传递给 BeautifulSoup 时,它会在列表中第一个资源的条目结束之前截断它的树。问题似乎出在用于将资源添加到搜索集中的图像链接中。这是事情被切断的地方,这是HTML:
这是我的python代码:
在 BeautifulSoup 的版本中,开头会<a href...>
显示,但<img>
不会,并且<a>
会立即关闭,其他打开的标签也是如此,一直到</html>
.
对于这些“添加到集合”图像,我看到的唯一显着特征是它们是唯一具有 name 和 id 属性的图像。不过,我不明白为什么这会导致 BeautifulSoup 立即停止解析。
注意:我对 Python 几乎是全新的,但似乎完全理解它。
感谢您的帮助!
python - 正在寻找关于网络抓取项目最佳实践的优秀教程的推荐?
我需要做一个涉及网络抓取的相当广泛的项目,并且正在考虑使用 Hpricot 或 Beautiful Soup(即 Ruby 或 Python)。有没有人遇到过他们认为在这个主题上特别好的教程,可以帮助我正确地开始这个项目?
python - Python中的URL树遍历器?
对于显示文件树的 URL,例如Pypi 包,是否有一个小的实体模块来遍历 URL 树并列出它ls -lR
?
我收集(纠正我)在 html<A
属性中没有文件属性、链接类型、大小、日期......的标准编码,
因此在流沙上构建一个可靠的 URLtree 模块很困难。
但是这个轮子( )肯定Unix file tree -> html -> treewalk API -> ls -lR or find
已经完成了吗?
(那里似乎有几个蜘蛛/网络爬虫/刮板,但到目前为止它们看起来很丑陋和临时,尽管使用 BeautifulSoup 进行解析)。
python - 复杂的美汤查询
这是我正在使用 Beautiful Soup 探索的 HTML 文件的片段。
我想<a href>
为任何包含<strong class="sans">
和 的行获取<td width="50%">
.
是否可以使用 Beautiful Soup 查询 HTML 文件中的多个条件?
python - 使用 BeautifulSoup 更改元素值返回空元素
如何更改元素的内容,在这种情况下是变量“make”中的元素,而不会丢失内容?如果您能指出其他可以修改现有 xml 文档的纯 python 模块,请告诉我。
PS!BeautifulSoup 非常适合 HTML 和 XML 的屏幕抓取和解析!
python - 如何将html实体转换为符号?
我已经根据这个答案对脚本进行了一些修改。我遇到了 unicode 问题。有些问题最终写得不好。
一些答案和响应最终看起来像:
Yeah.. I know.. I’m a simpleton.. So what’s a Singleton? (2)
我怎样才能使’
被翻译成正确的字符?
注意:如果这很重要,我在法式窗口上使用 python 2.6。
EDIT1:根据 Ryan Ginstrom 的帖子,我已经能够更正部分输出,但我遇到了 python 的 unicode 问题。
在空闲/python shell 中:
是的.. 我知道.. 我是个傻子.. 那么单身人士呢?
在文本文件中,重定向标准输出时
是的..我知道..我是个傻瓜..那么什么是单例?
我该如何纠正?
Edit2:我已经尝试过 Jarret Hardie 的解决方案,但它没有做任何事情。我在 Windows 上,使用 python 2.6,所以我的站点包文件夹位于:
C:\Python26\Lib\site-packages
没有 siteconfig.py 文件,所以我创建了一个,粘贴了 Jarret Hardie 提供的代码,启动了一个 python 解释器,但似乎还没有加载。
sys.getdefaultencoding() 'ascii'
我注意到在以下位置有一个 site.py 文件:
C:\Python26\Lib\site.py
我尝试更改函数中的编码
将编码设置为 utf-8。它起作用了(当然是在重新启动python之后)。
可悲的是,它没有纠正我程序中的字符。:(
python - python-beautifulsoup 是否误报了我的 html?
据我所知,我每人有两台机器,运行 python 2.5 和 BeautifulSoup 3.1.0.1。
我正在尝试抓取http://utahcritseries.com/RawResults.aspx,使用:
在我的 Windows 机器上,我得到了正确的结果,即日期和事件名称的列表。在我的mac上,我没有。相反,我得到
我注意到的是,当我
在我的 Windows 机器上,tr 数据看起来与源 html 完全相同。请注意第二个表格行上的样式标记。这是前两行:
在我的 Mac 上,当我打印前两行时,样式信息会从 tr 标签中删除,并移到每个 td 字段中。我不明白为什么会这样。每隔一个日期值我都会得到 None ,因为 BeautifulSoup 每隔一个日期就放置一个字体标签。这是mac的输出:
我的脚本在 windows 下显示正确的结果 - 我需要做什么才能让我的 Mac 正常工作?
python - 在 Python 中动态改变范围?
所以说我正在使用 BeautifulSoup 来解析页面,而我的代码发现查询至少有 7 个页面。
分页看起来像
如果我一直分页到 7,有时会有超过 7 页,所以如果我在第 7 页,分页看起来像
所以现在,我知道至少还有 3 页。我正在使用初始传递来确定有多少页,即 get_num_pages 返回 7
我正在做的是迭代每个页面上的项目,所以我有类似的东西
如果脚本发现超过 7 页,有没有办法动态更新范围?我想另一种方法是保持计数,当我到达第 7 页时,分别处理。我正在寻找解决此问题的最佳方法的建议和解决方案。