传统采集程序为了追求效率和便捷,往往采用的是HttpRequest来获得网页源文件,然后用正则表达式抽取数据。不过由于这种采集方式和用户真正浏览方式有区别,所以许多反采集策略也应运而生:
1、传统的Cookies/HttpHead Tracking
2、新型的CSS Polution
3、IP策略或者验证码
……
总的来说,这场魔高一尺、道高一丈的战争会永远升级下去,所以我决定一反传统做法,使用IE核心的Webbrowser和MSHtml来抓取数据,同时将采集过程的控制权下放给附属脚本文件,这样就可以最大程度模拟用户浏览,只要用户能看见数据,我们就能正确抓下来。
当然,这种采集方法由于受限于IE核心的解析速度,消耗内存能力以及脚本支持效率,采集速度一定是大大慢于传统采集方法,所以不适合在规定时间内采集海量数据的任务,但同时由于它适应性优秀,脚本再开发能力强,能够用在许多对数据质量要求高,后期处理要求高的特殊场合。
不过微软的标准Webbrowser控件能力太弱,经过苦心寻找,我选择了一个优秀的重新封装作品 csExWB
csExWB能够支持许多高级功能,比如屏蔽多媒体元素,截获并修改Http头,伪装Cookies等等
在每個攝影論壇都會看到攝影眾再不停的爭論哪一種測光最好,當然裡面不乏精闢見解,而我的意見是.....
......你用什麼測光法其實沒什麼差
記不記得我們通常用手動曝光模式?所以無論我們怎麼樣達到最好的光圈/快門/ISO 的組合,都跟你用什麼測光法沒有太大關連。
就像我在手動曝光、TTL
閃燈這一章說的:
對我來說測光的流程大概是
- 看一下相機 (對背景光線) 的測光
- 看看直方圖 Histogram
- 看看要抓的景裏面會不會有高光過曝的現象 (會閃動)
- 看看 LCD 裡面的影像看起來怎麼樣 (這不太做得準)
- 經驗 (這....報告老師,我這台沒有這個....)
沒有一種測光的通則可以套用在所有的景,測光是多種技巧與工具的
(2008-11-14 09:58)
Neil's 機頂閃燈活用技巧 11.閃燈架
|
旋轉式的閃燈燈架是一個用來連結閃燈與機身的很笨重的架子,裝上這個架子就可以讓閃燈永遠保持在機身的上方。
.
把閃燈固定在機身的上面固定在機身的上面,就可以避免當你拍直幅的時候,會在主體旁邊出現平行的閃燈的影子。
還有另一個好處,就是當你跳燈的時候,無論直幅或是橫幅都可以把跳燈的方向維持住。可以讓一系列的照片保持一定的光調子。
有好幾種閃燈架子,有些在使用時你得一手握著閃燈架子,這樣就不能去握鏡頭,有些比較精良的設計,則讓你直接去轉動閃燈
(這樣你就可以維持本來拍攝的姿勢)
|
|
本篇大綱
|
(2008-11-14 09:55)
|

這張是在飯店大廳照的,柱子的紋飾裡面嵌著鎢絲燈泡,我只用那燈泡當作光源。
我請新娘稍向前傾,靠向燈光,請新郎向前親密的環抱著她。
這裡閃燈完全沒有必要打,打了只會破壞這個美好溫馨的氣氛。
|
設備與設定:
Canon 1D mk2N Canon 24-70mm f2.8
1/125th @ f5 @ 640 iso
手動曝光; 矩陣測光 /
只有現場光
|
我把白平衡設在讓畫面看起來很偏暖調,因為這暖調能更烘托整個的氣氛
|
(2008-11-14 09:50)
|
當天稍早的時候,我有用橘城 (Oranjestad, Aruba 的首府)
特別的建築物來當作背景拍攝,照的是同一組新人。
日正當中,所以我得用上閃燈來打亮陰影,由於沒牆壁打跳燈,所以我只好直打。直打是個權宜之計,因為我必須很快就照完收工,而影像也必須還可以見人,沒時間慢慢磨。
|
設備與設定:
Canon 1D mk2N
Canon 70-200mm f2.8 IS
Canon 580EX speedlight
1/1000th @ f4 @ 100 iso
TTL flash: -3.0 exp comp
|
|
(2008-11-14 09:42)
Neil's 機頂閃燈活用技巧 9. 更多跳燈實戰分享
|
跳燈的效果,很大部分取決於攝影者是不是有留心該如何使用現場光,以及現場光的方向。最後再把跳燈的效果加進去考慮,看是要補光或是當做主要光源。
我們有很多方式可以去跟現場光配合,可以選擇加強現場光的效果 (燈頭打往現場光的來處)
或是選擇打反方向,把陰影消除。
無論你怎麼想,只要好好想過,相信作品會證明你的努力。不要呆呆的只會直打,或是在不恰當的時機向前
45 度打。
我在這裡再舉一些範例出來。
|
|
本篇大綱 (暫)
|
虽说拿VB开发大程序简直是找虐,但OFFICE里的VBA还是十分有用的,用的好能节省许多时间。
不过VBA来自VB,自然没有重载没有继承,所以虽然有个叫类的东西,根本就是半残的。
不过有些时候,巧妙使用Variant这个BT的万能类型,再加上错误捕捉机制,就可以得到许多有用的东西。
下面这个Stack栈类就支持几乎所有数据类型,哪怕你喂给它指针都行,不过要记得方便的另一面是危险,万一你把压、弹栈的顺序搞错了,光程序报错就能玩死你。
Option Explicit
Private data() As Variant
Private pointer As Long
Private Sub Class_Initialize()
pointer = 0
ReDim data(1)
End Sub
Public Function Pop() As Variant
On Error GoTo VariantError:
If pointer > 0 Then
Pop =
data(pointer)
pointer = pointer -
1
Else
Pop =
(2008-11-07 17:23)
由于某伟大的墙存在,我们不能正常访问怪医的博客,所以只能把他的文章包括图片用代理转过来了,大家如果有机会最好去Neil的官网上看看,上面除了闪灯还有不少其他优秀资源。还有因为Sina的Blog字数限制太低,我没办法一章节对应一篇博文的发,大家就凑活儿看吧。
译者怪医败家的Blog:http://blog.xuite.net/pocketpcian/1/10508981
英文原著Neil的网站:http://www.planetneil.com/faq/flash-techniques.html
如果在同样均质的光线、同样的场景下使用自动的模式去拍摄,你用广角、用望远、直拍或是横拍、高角度或是低角度去拍摄的时候曝光值都会变化,除非你改用手动曝光,手动曝光是你唯一可以保持影像光影调子一致的办法。对于后制来说,你的曝光都是相同的调子会让后制简单许多。
这是现场光,那接上闪灯又如何?接上闪灯,老实说,会复杂的多。
手动闪灯设定
如果你的闪灯距离摄影对象是固定的 (例如棚内