如何使用Mechanize读取每个HTML标记的内容?

时间:2015-07-07 14:45:24

标签: ruby web-scraping screen-scraping mechanize

如何编写Mechanize scraper来获取网页上每个HTML标记的内容?或者我是否需要将页面转换为字符串并使用正则表达式获取\<.*?\>\<\/.*?\>之间的所有内容?

2 个答案:

答案 0 :(得分:2)

要查找有关使用Mechanize编写Web scraper的更多信息,请查看以下教程:

另请注意,mechanize使用Nokogiri gem进行底层抓取。如果您没有附加到Mechanize,请考虑使用Nokogiri来解析HTML标记。

不要将页面转换为字符串并使用正则表达式来获取HTML内容。有关为什么这是一个坏主意的更多信息,请参阅this answer

- 编辑 -

正如@pguardiario在下面的评论中提到的,获取每个代码的所有内容的代码是page.search(*).map &:text

答案 1 :(得分:1)

你只限于机械化吗? 也许,您可以尝试使用watir或纯selenium来获取包含一个对象中所有标签的网页。