Re: [問題] 關於網頁抓取內容

看板Python作者 (阿祐)時間9年前 (2014/09/14 00:42), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
self.name.append(text) 改成 import re self.name.append(re.sub('\n','',text)) ※ 引述《jenocool ()》之銘言: : 本來只有在寫C++,但由於有抓網頁的需求 : 看到大家推薦Python所以就嘗試看看 : 但摸了一整天其實還是不太懂 : 先附上我的程式碼 : # -*- coding: utf-8 -*- : import urllib2 : from sgmllib import SGMLParser : class Title(SGMLParser): : is_a="" : name=[] : global getitem : getitem = False : def start_ol(self,attrs): : global getitem : getitem = True : def start_a(self, attrs): : global getitem : if getitem == True: : self.is_a = 1 : def end_a(self): : self.is_a="" : def end_ol(self): : global getitem : getitem = False : def handle_data(self, text): : if self.is_a and text !='庫存頁面' and text !='更多此站結果': : self.name.append(text) : content = : urllib2.urlopen('https://tw.search.yahoo.com/search;_ylt=A8tUwYpDIQRU33UApv9r1gt.?fr2=time&ei=utf-8&fr=yfp&p=%E6%BD%AE%E8%82%89&btf=m').read() : List = Title() : List.feed(content) : for i in List.name: : print i.decode('utf-8') : 目的是希望把每一篇搜尋結果的標題存起來 : 好不容易才弄到稍微想用的樣子 : 但發現如果標籤內有其他的標籤,似乎會自動換行? : 例如原本標題:台北潮肉壽喜燒肉@*~洪小玥~*-iPeen 愛評網 : 而在Html中則是 : 台北 : <b>潮肉</b> : 壽喜燒肉@*~洪小玥~*-iPeen 愛評網 : 所以抓出來的結果就變成 : 台北 : 潮肉 : 壽喜燒肉@*~洪小玥~*-iPeen 愛評網 : 不知道要用什麼方法將他們合併? : 另外想請問一下,抓取GOOGLE搜尋結果似乎會有問題 : 上網查了一下似乎是有防止抓取 : 不知道有沒有什麼方法可以解決? : 看了一整天還是一頭霧水 .. : 謝謝大家了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.70.186.199 ※ 文章網址: http://www.ptt.cc/bbs/Python/M.1410626520.A.DA7.html
文章代碼(AID): #1K57FOsd (Python)
文章代碼(AID): #1K57FOsd (Python)