gpt4 book ai didi

ruby - 让 Mechanize 通过 x 数量的链接并获得所有标题?

转载 作者:行者123 更新时间:2023-12-04 16:20:34 27 4
gpt4 key购买 nike

基本上我想使用 Mechanize 来浏览这个网站上 a-z 的所有页面
http://www.tv.com/shows/sort/a_z/

然后,对于每个字母,获取所有页面上字母“a”的每个节目的标题。目前我只是想让它与字母“a”一起工作。这就是我到目前为止所拥有的,但不知道从哪里开始?

require 'mechanize'

agent=Mechanize.new
goog = agent.get "http://www.tv.com/shows/sort/a_z/"
search = goog.link_with(:href => "/shows/sort/a/").click

最佳答案

你只需要使用一些 XPath查找您需要的内容并进行导航。

require 'mechanize'
shows = Array.new
agent = Mechanize.new
agent.get 'http://www.tv.com/shows/sort/a_z/'
agent.page.search('//div[@class="alphabet"]//li[not(contains(@class, "selected"))]/a').each do |letter_link|
agent.get letter_link[:href]
agent.page.search('//li[@class="show"]/a').each { |show_link| shows << show_link.text }

while next_page_link = agent.page.at('//div[@class="_pagination"]//a[@class="next"]') do
agent.get next_page_link[:href]
agent.page.search('//li[@class="show"]/a').each { |show_link| shows << show_link.text }
end
end

require 'pp'
pp shows

关于ruby - 让 Mechanize 通过 x 数量的链接并获得所有标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23732239/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com