Re: [问题] 关于网页抓取内容

楼主: qoofamily (阿祐)   2014-09-14 00:41:58
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搜寻结果似乎会有问题
: 上网查了一下似乎是有防止抓取
: 不知道有没有什么方法可以解决?
: 看了一整天还是一头雾水 ..
: 谢谢大家了

Links booklink

Contact Us: admin [ a t ] ucptt.com