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"
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。