Python爬虫爬取百度搜索内容代码实例
这篇文章主要介绍了Python爬虫爬取百度搜索内容代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
搜索引擎用的很频繁,现在利用Python爬虫提取百度搜索内容,同时再进一步提取内容分析就可以简便搜索过程。详细案例如下:
代码如下
#coding=utf8
importurllib2
importstring
importurllib
importre
importrandom
#设置多个user_agents,防止百度限制IP
user_agents=['Mozilla/5.0(WindowsNT6.1;WOW64;rv:23.0)Gecko/20130406Firefox/23.0',
'Mozilla/5.0(WindowsNT6.1;WOW64;rv:18.0)Gecko/20100101Firefox/18.0',
'Mozilla/5.0(Windows;U;WindowsNT6.1;en-US)AppleWebKit/533+
(KHTML,likeGecko)ElementBrowser5.0',
'IBMWebExplorer/v0.94','Galaxy/1.0[en](MacOSX10.5.6;U;en)',
'Mozilla/5.0(compatible;MSIE10.0;WindowsNT6.1;WOW64;Trident/6.0)',
'Opera/9.80(WindowsNT6.0)Presto/2.12.388Version/12.14',
'Mozilla/5.0(iPad;CPUOS6_0likeMacOSX)AppleWebKit/536.26(KHTML,likeGecko)
Version/6.0Mobile/10A5355dSafari/8536.25',
'Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,likeGecko)
Chrome/28.0.1468.0Safari/537.36',
'Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.0;Trident/5.0;TheWorld)']
defbaidu_search(keyword,pn):
p={'wd':keyword}
res=urllib2.urlopen(("http://www.baidu.com/s?"+urllib.urlencode(p)+"&pn={0}&cl=3&rn=100").format(pn))
html=res.read()
returnhtml
defgetList(regex,text):
arr=[]
res=re.findall(regex,text)
ifres:
forrinres:
arr.append(r)
returnarr
defgetMatch(regex,text):
res=re.findall(regex,text)
ifres:
returnres[0]
return""
defclearTag(text):
p=re.compile(u'<[^>]+>')
retval=p.sub("",text)
returnretval
defgeturl(keyword):
forpageinrange(10):
pn=page*100+1
html=baidu_search(keyword,pn)
content=unicode(html,'utf-8','ignore')
arrList=getList(u"以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。