亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3564 | 回復(fù): 9
打印 上一主題 下一主題

如何使用shell將抓取的靜態(tài)鏈接轉(zhuǎn)換成動態(tài)的? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-02-08 13:29 |只看該作者 |倒序瀏覽
閑著無事幫市場的同事寫了個腳本,用于抓取淘寶商城上那些涉嫌盜版公司產(chǎn)品鏈接,以減輕工作負(fù)擔(dān)。腳本主要原理是利用正規(guī)表達式分析網(wǎng)頁源碼,提取盜版的商品名,商品的鏈接,價格,店主名稱生成列表,同事會將復(fù)制到excle表格中,提交給淘寶。大半年來,腳本一直運行的很好,比之前純手工點擊網(wǎng)頁復(fù)制黏貼方式效率高很多。但幾天前同事告訴我,淘寶知會有些鏈接不合符規(guī)格,不能舉報。查看了下所謂的”不符規(guī)格的鏈接“,原來是一些靜態(tài)鏈接,但淘寶網(wǎng)頁源碼中該商品對應(yīng)的鏈接就是靜態(tài)鏈接。為了直觀一點,這里對比下同一商品的靜態(tài)鏈接和動態(tài)鏈接:
靜態(tài)的:
  1. http://s.click.taobao.com/t_8?e=7HZ6jHxdN3bmd8F0R82JOzV3NZg%2BoYLcSXOE3pmzphn5pivxfdMpbhCffemlr75KAa9jh4avqIOAWnVLiUA%2FsRyZH%2FTwFsHo3V%2B51lgTYlz0LAymqSgP1lNDLfrOJyl1IQ%3D%3D&c=c40ca204b5032623b3829ac1a256e5fb&p=mm_29996058_0_0&n=63&u=0
復(fù)制代碼
動態(tài)的:
  1. http://item.taobao.com/item.htm?id=13970855011&ref=&ali_trackid=2:mm_29996058_0_0,0:1328678903_4z6_1635934447
復(fù)制代碼
其實都對應(yīng)同一個商品,靜態(tài)鏈接可能非常的長,而且包含物理路徑。為了美觀或安全的因素,通常會在服務(wù)器端把地址重寫后再返還給瀏覽器客戶端,這就是所謂的動態(tài)地址。研究了幾天使用shell腳本自動把靜態(tài)的地址轉(zhuǎn)換成動態(tài)的地址,都沒什么好的門路。我不得不讓同事把地址一條條黏貼到瀏覽器中,來獲取重寫后的動態(tài)地址。
哪位朋友有好的方法或提議,在此可以共同探討下。

論壇徽章:
0
2 [報告]
發(fā)表于 2012-02-08 13:57 |只看該作者
看頁面是怎么搞的 shell怎么搞就是了

論壇徽章:
0
3 [報告]
發(fā)表于 2012-02-08 14:28 |只看該作者
回復(fù) 2# lkk2003rty
{:2_174:} 明白頁面怎么搞不會帶來任何幫助啊,看看下面這段源碼就知道了:
<li class="list-item" >                        <h3 class="summary"><a stat="lf_aclog=24-13970855011-51-price_asc|-0&lf_acfrom=0&at_alitrackid=search8.taobao.com&stats_click=singleshop%3A1"   href="http://s.click.taobao.com/t_8?e=7HZ6jHxdN3bmd8F0R82JOzV3NZg%2BoYLcSXOE3pmzphn5pivxfdMpbhCffemlr75KAa9jh4avqIOAWnVLiUA%2FsRyZH%2FTwFsHo3V%2B51lgTYlz0LAymqSgP1lNDLfrOJyl1IQ%3D%3D&c=c40ca204b5032623b3829ac1a256e5fb&p=mm_29996058_0_0&n=63&u=0" target="_blank" class="EventCanSelect" title="小學(xué)五年級數(shù)學(xué) 五年級數(shù)學(xué) 特級教師新課程學(xué)習(xí)方法指導(dǎo)(通用版)">小學(xué)五年級數(shù)學(xué) 五年級數(shù)學(xué) <span class=H>特級</span><span class=H>教師</span>新課程學(xué)習(xí)方法指導(dǎo)(通用版)                        </a></h3><div class="photo ">
                                <a stat="lf_aclog=24-13970855011-51-price_asc|-0&lf_acfrom=0&at_alitrackid=search8.taobao.com&stats_click=singleshop%3A1"   href="http://s.click.taobao.com/t_8?e=7HZ6jHxdN3bmd8F0R82JOzV3NZg%2BoYLcSXOE3pmzphn5pivxfdMpbhCffemlr75KAa9jh4avqIOAWnVLiUA%2FsRyZH%2FTwFsHo3V%2B51lgTYlz0LAymqSgP1lNDLfrOJyl1IQ%3D%3D&c=c40ca204b5032623b3829ac1a256e5fb&p=mm_29996058_0_0&n=63&u=0" target="_blank"><span><img data-ks-lazyload="http://img04.taobaocdn.com/bao/uploaded/i4/T1WkCIXaFlXXax9HQ__105507.jpg_sum.jpg"  class="small2big"  alt=""/></span></a>                  <i class="hate i-hate" data-spam-url="support.taobao.com/myservice/suit/accuse_punish.jhtml?Query=%CC%D8%BC%B6%BD%CC%CA%A6&BucketID=9&auction_num_id=13970855011&fromSource=search&Category=0&sort=price_asc&display_type=3" data-userid="16977708,50014932,0"         data-block-style="http://i.search.taobao.com/interface.php?do=add_style&cat=0&pid_type=1&pid=-703205324&ck=x2xpPLXeNoDvXfoYRLyjt58a1r6rB8LIq"         data-block-seller="http://i.search.taobao.com/interface.php?do=add_seller&cat=0&seller_id=16977708&ck=x2xpPLXeNoDvXfoYRLyjt58a1r6rB8LIq"></i>                        </div>                        <ul class="attribute"  userid="16977708" pid="1_-703205324">                    <li class="legend2">
                                   
                                </li>

                                <li class="sale"></li>
                                       <li class="place">上海</li>
                                <li class="price"><em>2.99</em>        <span class="shipping">運費:0.00</span>                   </li>

論壇徽章:
1
摩羯座
日期:2014-12-29 15:59:36
4 [報告]
發(fā)表于 2012-02-08 15:31 |只看該作者
樓主還是說說原始需求吧,比如抓去的頁面.怎么得到的你所謂的靜態(tài)鏈接.
從你的描述上感覺你繞彎子了

論壇徽章:
0
5 [報告]
發(fā)表于 2012-02-08 15:37 |只看該作者
回復(fù) 4# ziyunfei

我的需求是這樣的,寫個腳本能將
  1. http://s.click.taobao.com/t_8?e=7HZ6jHxdN3bmd8F0R82JOzV3NZg%2BoYLcSXOE3pmzphn5pivxfdMpbhCffemlr75KAa9jh4avqIOAWnVLiUA%2FsRyZH%2FTwFsHo3V%2B51lgTYlz0LAymqSgP1lNDLfrOJyl1IQ%3D%3D&c=c40ca204b5032623b3829ac1a256e5fb&p=mm_29996058_0_0&n=63&u=0
復(fù)制代碼
轉(zhuǎn)換成下面類型的地址
  1. http://item.taobao.com/item.htm?id=13970855011&ref=&ali_trackid=2:mm_29996058_0_0,0:1328678903_4z6_1635934447
復(fù)制代碼

論壇徽章:
1
摩羯座
日期:2014-12-29 15:59:36
6 [報告]
發(fā)表于 2012-02-08 15:48 |只看該作者
cooluncle 發(fā)表于 2012-02-08 15:37
回復(fù) 4# ziyunfei

我的需求是這樣的,寫個腳本能將轉(zhuǎn)換成下面類型的地址


好吧 既然你堅持這么說
  1. curl -Ie $(curl 'http://s.click.taobao.com/t_8?e=7HZ6jHxdN3bmd8F0R82JOzV3NZg%2BoYLcSXOE3pmzphn5pivxfdMpbhCffemlr75KAa9jh4avqIOAWnVLiUA%2FsRyZH%2FTwFsHo3V%2B51lgTYlz0LAymqSgP1lNDLfrOJyl1IQ%3D%3D&c=c40ca204b5032623b3829ac1a256e5fb&p=mm_29996058_0_0&n=63&u=0' -I 2>/dev/null| grep -oP '(?<=Location: ).+')  'http://s.click.taobao.com/t_8?e=7HZ6jHxdN3bmd8F0R82JOzV3NZg%2BoYLcSXOE3pmzphn5pivxfdMpbhCffemlr75KAa9jh4avqIOAWnVLiUA%2FsRyZH%2FTwFsHo3V%2B51lgTYlz0LAymqSgP1lNDLfrOJyl1IQ%3D%3D&c=c40ca204b5032623b3829ac1a256e5fb&p=mm_29996058_0_0&n=63&u=0' 2>/dev/null| grep -oP '(?<=Location: ).+'
復(fù)制代碼

論壇徽章:
0
7 [報告]
發(fā)表于 2012-02-08 15:58 |只看該作者
下面這段代碼是用于抓取鏈接的:
  1. #desc:提取同一家淘寶店鋪的商品名,鏈接,價格
  2. sed -n '/<a target=\"_blank\"/,/<strong>.*<\/strong>/p' $1|\
  3.         sed -n '/class=\"permalink\"\|style=\"\"/,/<strong>.*<\/strong>/p'|\
  4.                 sed 's/^[\t| ]*//'|\
  5.                         tr '\n' ' '|\
  6.                                 sed -e 's#</strong>#&\n#g'|\
  7.                                         sed -e 's#.*<a.*href=\"\(.*\)\" class=.*> \(.*\) </a>.* <strong>\(.*\)</strong>.*#\2\t\1\t\3'#|\
  8.                                                 grep -v '</div>'|\
  9.                                                         egrep -v '(金太陽|悠悠課堂)' >> $(dirname $1)/$(basename $1).save

  10. egrep '(<h3.*</h3>|<li class="price"><em>.*</em>)' $1|\
  11.         tr '\n' ' '|\
  12.                 sed -e 's#</em>#&\n#g'|\
  13.                         egrep '<h3.*\h3>'|\
  14.                                 sed -e 's#.*\(<a.*</a>\).*\(<li class="price">.*\)#\1 \2#g'|\
  15.                                         sed -e 's/^<a.*\(href=.*\)/\1/g'|\
  16.                                                 sed 's#<span.*</span>##g'|\
  17.                                                         sed -e 's#</a> <li class="price"><em>\(.*\)</em>#\"\1\"#g'|\
  18.                                                                 awk -F'"'  '{print $8"\t"$2"\t"$10}' >> $(dirname $1)/$(basename $1).save
復(fù)制代碼
抓取的結(jié)果類似:
  1. 2011-2012年證券從業(yè)資格考試 證券發(fā)行與承銷+輔導(dǎo) 送課件        http://item.taobao.com/item.htm?id=13229029542        18.00
  2. 現(xiàn)貨熱銷:2011年證券從業(yè)資格教材+輔導(dǎo)(基礎(chǔ)+基金)4本        http://item.taobao.com/item.htm?id=9023342972        28.00
  3. 現(xiàn)貨2011年證券從業(yè)資格考試輔導(dǎo) 證券投資分析 送課件        http://item.taobao.com/item.htm?id=14369108064        7.00
  4. 2011-2012年證券從業(yè)資格考試:證券投資分析教材+輔導(dǎo)叢書        http://item.taobao.com/item.htm?id=13573977108        12.00
  5. 正版!2012年證券從業(yè)考試 證券投資基金 教材+輔導(dǎo) 贈題庫軟件        http://detail.tmall.com/item.htm?id=14690644018        45.00
復(fù)制代碼
但其中有些鏈接不是http://xxxxx?id=xxx&xxx的形式的,因為網(wǎng)頁源碼中得鏈接是靜態(tài)的

論壇徽章:
0
8 [報告]
發(fā)表于 2012-02-08 16:08 |只看該作者
這個靜動網(wǎng)址的轉(zhuǎn)換規(guī)則應(yīng)該是淘寶自己寫的吧

論壇徽章:
0
9 [報告]
發(fā)表于 2012-02-08 16:23 |只看該作者
回復(fù) 6# ziyunfei
兄弟果然厲害,效果非常好...
這兩天一直在研究怎么用wget來實現(xiàn),最終都沒能成功....

   

論壇徽章:
0
10 [報告]
發(fā)表于 2012-02-08 16:29 |只看該作者
回復(fù) 8# deepalley
是的,可以通過代碼實現(xiàn)或者在apache,nginx里面用rewrite來實現(xiàn),通常靜態(tài)地址有利于搜索引擎收錄,寫的不好的動態(tài)地址會加重爬蟲負(fù)擔(dān).....

   
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP