【发布时间】:2016-06-23 11:40:26
【问题描述】:
我已经从一个网站上抓取数据并使用下面的代码将其输入到一个数组中:
def process_course_details(course_details)
details_array =[]
details_link = true
entry_link = true
details_info = {}
# Sets all data in hash
details_info[:url] = clean_link(course_details.search('div.coursedetails_programmeurl a'))
details_array.push(details_info)
print_details_info(details_info)
entry_link = course_details.search('ul.details_tabs').first
end
上面的代码存储了被拉取的元素:
<a href="http://www.abdn.ac.uk/study/courses/undergraduate/C8R1/">View course details on provider's website</a>
但我想把上面清理到下面:
http://www.abdn.ac.uk/study/courses/undergraduate/C8R1/
或未能删除撇号并具有以下内容:
<a href="http://www.abdn.ac.uk/study/courses/undergraduate/C8R1/">View course details on providers website</a>`
【问题讨论】:
-
“我正在尝试将其存储在 sqlite3 数据库中,但由于文本中有撇号,我不能这样做” – 我很确定 SQLite 可以存储撇号。您存储文本的代码是什么样的?
-
您正在使用任何宝石进行报废?
-
在存储其他数据时,我已经抓取到数据库中,撇号提供了错误并停止了它。一旦我清理了撇号并且它不再是数组的一部分,代码就会起作用并创建表。 db = SQLite3::Database.open('ahhh.sqlite3') db.execute "INSERT INTO aahah (uname, cname, duration,qualification, url, entry) VALUES ('#{@uni_name}', #{@course_name} ', '#{@course_duration}', '#{@course_qual}', '#{@details_entry}', '#{@requirements}')" 如果你说的是我可以发布的数组
-
我正在使用机械化进行抓取,这也需要/使用 nokogiri。
标签: ruby-on-rails ruby sqlite gsub code-cleanup