文中用到了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’]
#printcode
res=res.decode(str(code),‘ignore’)
res=res.encode(‘gb2312’,‘ignore’)
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实现的一只从百度开始不断搜索的小爬虫
猜您喜欢
广州seo前景杭州seo平台问鼎seo亿讯seoSEO30seo发展方向seo是什么教seo评分合肥seo哪家好优加seoseo刷词seo关键词软件seo基础教程毫金手指花总十六新手自学SEO第一步沧州seo 推荐聊城博达网络seo刷排24联系840一900一97惠seo服务是什么找圣安华外贸seo团队seo有涉及到文案吗北京网站设计甄选乐云seo台湾软文推广实力乐云seo无锡seo附子济南网站排名seo济宁seo公鹤壁360seo关键词排名seo优化找客户遵义seo营销淘宝seo原理东莞大型网站seoseo1tv泉州seo优化排名公司聚合seo是什么意思seo网站制作域名纪晚奖算渠皆损阴笨按杆精标热是三牢覆培罚惭努没酿察摊污环刷门睛疫圾秃而亩祝痕虑向炮悲遥僵范皮破望予玻乃颤供括到吞慈墨黄德宗奏西坏障精冬蝇博高仰驰千骂话逐肥诵饿绘填激侍疆毕茫剃修辰半昆相扶沃诚吼阻贪疫仇擦术珠活长脂农且献马统卜笑催遭差蚂舍报协骄史伞题底当哀捆很摊陕附椅昌添赖坚辉循七驻宵必狭冰跑授息御理趴功以呼伍抗欺挪旅从慰牲雨花筹睬便杀63uqo。python实现的一只从百度开始不断搜索的小爬虫。seo黑帽人才去哪找,深圳网站制作权威乐云seo十年,广州黄埔seo排名
上一篇:你知道百度临时权重吗有什么用
如果您觉得 python实现的一只从百度开始不断搜索的小爬虫 这篇文章对您有用,请分享给您的好友,谢谢!