这篇文章讲述的是web爬虫技术的简介和实现一个简单的爬虫,如有错误或不当之处
还望各位大神批评指正。
什么是网络爬虫?
爬虫是一种自动抓取网页并提取网页内容的程序。
网络爬虫能干什么?
用来做数据采集,是数据分析和挖掘的基础。
网络爬虫需要掌握的技术
- 了解WWW技术和web应用
- 掌握获取web内容的程序化语言,如python、Java、c++、python(推荐使用python)
为什么推荐使用爬虫?python具有代码优美、代码简洁、开发效率高、胶水代码等特点,并且有丰富的库,方便编写出高效的、分布式爬虫程序
使用urllib实现第一个爬虫
基本思路:
- 确定爬取目标
- 确定爬取url
- 利用http获取html
- 解析页面内容
- 保存结果
下面我们利用python的urllib库实现爬去名人名言
一、确定爬去目标
我们爬去著名的爬虫的helloworld网站toscrape,获取名人名言
二、确定爬取的url
三、使用urllib库实现这个爬虫
- 获取网页内容
# 获取网页
def get_page(url):
try:
print('读取网页:' + url)
request = urllib.request.Request(url)
response = urllib.request.urlopen(request)
return response.read().decode('utf-8')
except urllib.request as e:
print(e.reason)
print('网络异常,爬取网页失败!')
- 将爬取的网页保存到本地
# 存储网页到本地
def write_page(html, filename):
with open(filename + '.html', 'w', encoding='utf-8') as f:
print('文件写入到:' + f.name)
f.write(html)
- 主方法调用
# 主方法调用
def main():
html = get_page('http://quotes.toscrape.com/')
write_page(html, 'quotes')
这个爬虫比较简单,只是将网页源码保存到了本地,另外还有网页解析技术将会在下一篇文章介绍