按f12打开控制台。在name上点击右键,勾选domain。domain和所访问网页域名一样的才行。点击域名相同的一个,弹出的小窗拉到中间,就可以看见cookie的账号。
1、按f12打开控制台。
2、在name上点击右键,勾选domain。
3、domain和所访问网页域名一样的才行。
4、点击域名相同的一个,弹出的小窗拉到中间,可以看见cookie的值。
5、可以选中复制它就可以获取Cookie了。
登录的网站才访问网页时网站会验证cookie信息,以确定当前用户是否登录,所以在采集这类网站的数据时,需要同步发送cookie数据,确保网站验证cookie可以成功。
cookie如何来?可以使用抓包工具,然后打开浏览器实现目标采集网站的登录操作,然后再抓包工具中将记录的cookie拷贝出来,粘贴到你所使用的采集软件中,或者利用采集软件直接实现登录操作。
Cookie可以用火狐浏览器、谷歌浏览器,也可以用一些软件的内置模块等获取。具体操作步骤如下:
1、用浏览器打开网页,有写站需要获取登录后的COOKIE的话就登录一下。
2、用鼠标在页面右键,选择“检查”来调用出COOKIE获取界面;在网页右键点选“检查”,或者快捷键Ctrl+Shift+I,或者直接按F12打开“检查”页面。
3、在检查页面选择“Network”(网络)标签,打开过滤器。
4、过滤器是开启状态的时候,下面会多出一行审查元素,之后刷新页面,快捷键F5可以直接刷新。
5、往下拉可以找到“Cookie”字样的字段。Cookie冒号后边的一整段即是Cookie了。可以鼠标拖拽选择进行复制。
Cookie注意事项:
Cookie是登陆账号的重要信息,不能随意发给别人,否则泄漏后你就成了别人的资料仓库保管员了。当然,万一泄露也不要紧,及时将账号的密码进行修改即可,这样泄露的cookie也会失效的。
百度网盘账号的cookie是长期有效的,但是前提条件是不能通过浏览器直接点击退出账号,否则这个获取到的cookie信息就不能再次使用了。需要通过浏览器直接提供的工具,清理cookie信息来退出当前账号。
搜狗浏览器的工具栏中有个清理历史记录,清除cookie的可以。Chrome浏览器中点击小锁后会出现cookie信息,删除即可。
说是使用pdfkit,其实做工作的还是wkhtmltopdf。一、新建项目
rails new mypdf --skip-bundle
进入项目:cd mypdf,打开Gemfile:vim Gemfile
修改source为https://ruby.taobao.com
添加:gem 'pdfkit'
运行bundle install
二、配置
在项目目录下的config/initializers里加上pdfkit.rb文件,修改内容为:
PDFKit.configure do |config|
config.wkhtmltopdf = '/path/wkhtmltopdf'
end
config.wkhtmltopdf配置的是wkhtmltopdf的路径,要确保pdfkit能找到它。
其它的配置请参考:http://wkhtmltopdf.org/usage/wkhtmltopdf.txt,里面的横杠用下划线代替。
三、使用
在controller里的相应位置加入:
用渲染的模版内容生pdf:
html = render_to_string(:template =>"pdf_template.erb",:layout =>false)
kit = PDFKit.new(html)
kit.stylesheets <<"#{Rails.root}/app/assets/assets/stylesheets/pdf.css"
#kit.to_pdf # inline PDF
#kit.to_file('/path/pdf.pdf')
send_data(kit.to_pdf, :filename =>"mypdf.pdf", :type =>"application/pdf")
#render :text =>kit.to_pdf
用url的内容生成pdf:
url = "http://www.baidu.com"
kit = PDFKit.new(url)
# kit.stylesheets <<"#{Rails.root}/app/assets/assets/stylesheets/pdf.css" # 用url时就不可以用css样式了。
#kit.to_pdf # inline PDF
#kit.to_file('/path/pdf.pdf')
send_data(kit.to_pdf, :filename =>"mypdf.pdf", :type =>"application/pdf")
注: kit = PDFKit.new(url, cookie: {"cookie_name"=>"cookie_content"}),如果需要登录的话,可以用cookie。cookie可以自己获取。
另外,如果你的页面里有js需要运行,最好在设置文件里设置如下:
javascript_delay: 1000
它的默认值是200毫秒。把加大一些,以便让js运行完成。
这样就可以用了。