Python如何写简单爬虫?
python是一种面向对象、直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。下面给大家分享的是Python写简单爬虫的技巧,有需要的小伙伴一起来看看吧。Python写简单爬虫的技巧:Python提供了许多Module,通过这些Module,可以很简单的做一些工作。比如,要获得cloga这个词在百度搜索结果页中的排名结果(排名结果+URL),这就是一个很简单的爬虫需求。
1、首先,要通过urllib2这个Module获得对应的HTML源码。(PS:在python3.3之后urllib2已经不能再用,代之以urllib)
通过上面这三句就可以将URL的源码存在content变量中,其类型为字符型。
2、接下来是要从这堆HTML源码中提取我们需要的内容。用Chrome查看一下对应的内容的代码(也可以用Firefox的Firebug)。
3、可以看到url的信息存储在span标签中,要获取其中的信息可以用正则式。
import re
urls_pat=re.compile(r'(。*?)')
siteUrls=re.findall(results_pat,content)
4、用正则式获得内容还需要进一步处理,因为其中包含html标签。类似,hi.baidu.com/cloga 2010-8-29或者 hi.baidu.com/cloga 2010-8-29 ,同样可以用正则式的sub方法替换掉这些标签。
strip_tag_pat=re.compile(r'<.*?>')
file=open('results000.csv','w')
for i in results:
i0=re.sub(strip_tag_pat,'',i)
i0=i0.strip()
i1=i0.split(' ')
date=i1[-1]
siteUrl=''.join(i1[:-1])
rank+=1
file.write(date+','+siteUrl+','+str(rank)+'n')
file.close()
5、再来就是把对应的结果输出到文件中,比如,排名、URL、收入日期这样的形式。OK,这样就用Python实现了一个简单的爬虫需求。
关于Python写简单爬虫的方法就给大家介绍完了,希望能对大家有所帮助。……