最新学习Python,以爬虫作为练手的工具来开发。
Python提供了urllib用于抓取网页的内容,十分的简单。再配合正则表达式或者HTML解析包,可以十分容易的实现爬虫,但是若开发大数据的则需要到分布式的爬虫,此处暂且不提。
首先提供一个简单的抓取单页内容的示例程序,并演示正则表达式的使用方法;示例如下:
#encoding:UTF-8
import urllib.request
import re
def fetch(url):
fb = urllib.request.urlopen(url)
data = fb.read()
data = data.decode('UTF-8')
# print(data)
titlelist = []
titlelist = re.compile(r'<a href="/([A-Za-z]{3,15})" onclick="pageTracker._trackPageview\(\'dp_citylist_new_pinyin_(strongcity)_(\d+)_(\d+)\'\);"><strong>(.*?)</strong></a><span class="sep">',re.DOTALL).findall(data)
titlelist2 = []
titlelist2 = re.compile(r'<a href="/([A-Za-z]{3,15})" onclick="pageTracker._trackPageview\(\'dp_citylist_new_pinyin_(lightcity)_(\d+)_(\d+)\'\);">(.*?)</a><span class="sep">',re.DOTALL).findall(data)
# titlelist.append(titlelist2)
print('国内较大城市以及国外城市(%d个):'%len(titlelist))
for i in range(0,len(titlelist)):
print(titlelist[i],'\n')
print('国内较小城市(%d个):'%len(titlelist2))
for i in range(0,len(titlelist2)):
print(titlelist2[i],'\n')
if __name__ == "__main__" :
url = r'http://www.dianping.com'
fetch(url)
如有其他问题请发留言,不胜感激您的阅读!