如何编写Mechanize scraper来获取网页上每个HTML标记的内容?或者我是否需要将页面转换为字符串并使用正则表达式获取\<.*?\>
和\<\/.*?\>
之间的所有内容?
答案 0 :(得分:2)
要查找有关使用Mechanize编写Web scraper的更多信息,请查看以下教程:
另请注意,mechanize使用Nokogiri gem进行底层抓取。如果您没有附加到Mechanize,请考虑使用Nokogiri来解析HTML标记。
不要将页面转换为字符串并使用正则表达式来获取HTML内容。有关为什么这是一个坏主意的更多信息,请参阅this answer。
正如@pguardiario在下面的评论中提到的,获取每个代码的所有内容的代码是page.search(*).map &:text
答案 1 :(得分:1)
你只限于机械化吗? 也许,您可以尝试使用watir或纯selenium来获取包含一个对象中所有标签的网页。