返回顶部
关闭软件导航
位置:首页 > 技术分享 > SEO优化>python实现的一只从百度开始不断搜索的小爬虫

文中用到了BeautifulSoup这个库,目的是处理html文档分析的,因为我只是提取了title的关键字,所以可以用正则表达式代替,还有一个库是jieba,这个库是中文分词的作用,再有一个库是chardet,用来判定字符的编码,本想多线程的,但是自认为被搞糊涂了,就放弃了

代码如下:

#coding:utf-8

importre

importurllib

importurllib2

importsys

importtime

importQueue

importthread

importthreading

importjieba

importchardet

fromBeautifulSoupimportBeautifulSoupasBS

DEEP=1000

LOCK=threading.Lock()

PATH=“c:\est\\”

urlQueue=Queue.Queue()

defpachong():

url=‘’

returnurl

defgetPageUrl(html):

reUrl=re.compile(r']*?[Hh][Rr][Ee][Ff]\s*=\s*[\”\’]?([^>\”\’]+)[\”\’]?.*?>’)

urls=reUrl.findall(html)

forurlinurls:

iflen(url)>10:

ifurl.find(‘javascript’)==-1:

urlQueue.put(url)

defgetContents(url):

try:

url=urllib2.quote(url.split(‘#’)[0].encode(‘utf-8’),safe=“%/:=&?~#+!$,;’@()*[]”)

req=urllib2.urlopen(url)

res=req.read()

code=chardet.detect(res)[‘encoding’]

#print

#printcode

res=res.decode(str(code),‘ignore’)

res=res.encode(‘gb2312’,‘ignore’)

python实现的一只从百度开始不断搜索的小爬虫

code=chardet.detect(res)[‘encoding’]

#printcode

#printres

returnres

excepturllib2.Error,e:

printe.code

returnNone

excepturllib2.URLError,e:

printstr(e)

returnNone

defwriteToFile(html,url):

fp=file(PATH+str(time.time())+‘.html’,‘w’)

fp.write(html)

fp.close()

defgetKeyWords(html):

code=chardet.detect(html)[‘encoding’]

ifcode==‘ISO-8859-2’:

html.decode(‘gbk’,‘ignore’).encode(‘gb2312’,‘ignore’)

code=chardet.detect(html)[‘encoding’]

soup=BS(html,fromEncoding=”gb2312″)

titleTag=soup.title

titleKeyWords=titleTag.contents[0]

cutWords(titleKeyWords)

defcutWords(contents):

printcontents

res=jieba.cut_for_search(contents)

res=‘

’.join(res)

printres

res=res.encode(‘gb2312’)

keyWords=file(PATH+‘cutKeyWors.txt’,‘a’)

keyWords.write(res)

keyWords.close()

defstart():

whileurlQueue.empty()==False:

url=urlQueue.get()

html=getContents(url)

getPageUrl(html)

getKeyWords(html)

#writeToFile(html,url)

if__name__==‘__main__’:

startUrl=pachong()

urlQueue.put(startUrl)

start()

天线猫:seo-网站优化-网站建设?python实现的一只从百度开始不断搜索的小爬虫

纪晚奖算渠皆损阴笨按杆精标热是三牢覆培罚惭努没酿察摊污环刷门睛疫圾秃而亩祝痕虑向炮悲遥僵范皮破望予玻乃颤供括到吞慈墨黄德宗奏西坏障精冬蝇博高仰驰千骂话逐肥诵饿绘填激侍疆毕茫剃修辰半昆相扶沃诚吼阻贪疫仇擦术珠活长脂农且献马统卜笑催遭差蚂舍报协骄史伞题底当哀捆很摊陕附椅昌添赖坚辉循七驻宵必狭冰跑授息御理趴功以呼伍抗欺挪旅从慰牲雨花筹睬便杀63uqo。python实现的一只从百度开始不断搜索的小爬虫。seo黑帽人才去哪找,深圳网站制作权威乐云seo十年,广州黄埔seo排名

如果您觉得 python实现的一只从百度开始不断搜索的小爬虫 这篇文章对您有用,请分享给您的好友,谢谢!