基于python3的实现,获取网页的基础技术:request、urllib、selenium;解析网页的基础技术:re正则表达式、BeautifulSoup、和lxml;储存技术:数据库或者表格。
python环境搭建:
1、pycharm;
2、anaconda,适合基础入门,自带很多包,则无需安装。
3、jupyter notebook。
之后博文中的环境都基于anaconda的spyder或pycharm。
用urllib爬取简单的网页
import urllib.request url = "http://www.douban.com/" request=urllib.request.Request(url) #请求 response = urllib.request.urlopen(request) #爬取结果 data=response.read() data=data.decode('utf-8') #设置解码方式 print(data) #打印结果
鉴于很多网站有些反爬虫的设置,我们模拟浏览器登录网页,把爬取的数据下载到本地
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ''Chrome/51.0.2704.63 Safari/537.36'}
下载到本地,函数:
def saveFile(data): path = "C:\Users\leon\Desktop\02_douban.html" f = open(path,'wb') f.write(data) f.close()
整体代码如下:
def saveFile(data): path = "C:\Users\leon\Desktop\02_douban.html" f = open(path,'wb') f.write(data) f.close() import urllib.request url = "http://www.douban.com/" headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/51.0.2704.63 Safari/537.36'} request = urllib.request.Request(url=url,headers=headers) response = urllib.request.urlopen(request) data=response.read() data=data.decode('utf-8') print(data) saveFile(data)