Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么这个ruby代码返回一个空白页面,而不是用用户名填充?_Ruby_Web Scraping_Web Crawler - Fatal编程技术网

为什么这个ruby代码返回一个空白页面,而不是用用户名填充?

为什么这个ruby代码返回一个空白页面,而不是用用户名填充?,ruby,web-scraping,web-crawler,Ruby,Web Scraping,Web Crawler,我想在照片分享网站Fotolog中收集一个名为Nature的特定组中的用户姓名。这是我的代码: require 'rubygems' require 'mechanize' require 'csv' def getInitUser() agent1 = Mechanize.new number = 0 while number<=500 address = 'http://http://www.fotolog.com/nature/partic

我想在照片分享网站Fotolog中收集一个名为Nature的特定组中的用户姓名。这是我的代码:

require 'rubygems'
require 'mechanize'
require 'csv'

def getInitUser()
    agent1 = Mechanize.new

    number = 0
    while number<=500
        address = 'http://http://www.fotolog.com/nature/participants/#{number}/'
        logfile2 = File.new("Fotolog/Users.csv","a")

        tryConut = 0
        begin
            page = agent1.get(address)
        rescue
            tryConut=tryConut+1
            if tryConut<5
                retry
            end
            return
        end

        arrayUsers= []

        # search for the users
        page.search("a[class=img_border_radius").map do |opt| 

            link = opt.attributes['href'].text
            link = link.gsub("http://www.fotolog.com/","").gsub("/","")
            arrayUsers << link
            logfile2.print("#{link}\n")
        end
        number = number+100
    end
    return arrayUsers
end    

arrayUsers = getInitUser()
arrayUsers.each do |user|
    getFriend(user)
end
需要“rubygems”
需要“机械化”
需要“csv”
def getInitUser()
agent1=Mechanize.new
数字=0

而数字选择器是错误的。如果您试图使用xpath,则必须使用如下内容:
page.search(“.//a[@class='img\u border\u radius'])
。但是我会使用css选择器:
page.search(“a.img\u border\u radius”)
或者你甚至可以使用
page.links\u和(class:.img\u border\u radius”).map
。。。另外,我会用
put
代替
print
(我甚至不知道
print
是写入文件的正确方式),将
logfile2.print(“{link}\n”)
替换为
logfile2.put(“{link}”)
另一件事是,在使用
logfile.close
后必须关闭该文件。您的选择器是错误的。如果您试图使用xpath,则必须使用如下内容:
page.search(“.//a[@class='img\u border\u radius'])
。但是我会使用css选择器:
page.search(“a.img\u border\u radius”)
或者你甚至可以使用
page.links\u和(class:.img\u border\u radius”).map
。。。另外,我会用
put
而不是
print
(我甚至不知道
print
是写入文件的正确方式),将
logfile2.print(“{link}\n”)
替换为
logfile2.puts({link}”)
另一件事是在使用
logfile.close
后必须关闭文件。