Python爬虫数据保存至本地文件的简易实现
本文介绍使用Python编写简易爬虫并将抓取的数据保存至本地文件的方法。通过urllib获取网页内容,利用正则表达式提取图片链接,最后将图片保存至指定本地目录。文章基于Python 3.5环境,重点讲解了文件存储的实现细节及正则匹配的注意事项,适合初学者参考。
Python爬虫基础与数据保存方式
昨日下班后,出于兴趣决定尝试编写一个网页爬虫程序以抓取网页内容。仅用一小时快速学习了Python基础语法,并参考网络示例完成了初步的爬虫代码编写。
Python爬虫获取的数据通常存储于文件或数据库中。对于个人练习或简单爬虫项目,采用文件形式保存数据更为简便直接。
核心代码实现与逻辑解析
#coding=utf-8
import urllib.request
import re
import os
'''
Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据
urlopen 方法用来打开一个url
read方法 用于读取Url上的数据
'''
def getHtml(url):
page = urllib.request.urlopen(url);
html = page.read();
return html;
def getImg(html):
imglist = re.findall('img src="(http.*?)"',html
return imglist
html = getHtml("https://www.zhihu.com/question/34378366").decode("utf-8");
imagesUrl = getImg(html);
if os.path.exists("D:/imags") == False:
os.mkdir("D:/imags");
count = 0;
for url in imagesUrl:
print(url)
if(url.find('.') != -1):
name = url[url.find('.',len(url) - 5):];
bytes = urllib.request.urlopen(url);
f = open("D:/imags/"+str(count)+name, 'wb');
f.write(bytes.read());
f.flush();
f.close();
count+=1
正则匹配与注意事项
经测试,该方案基本功能可行。耗时较多的环节在于正则表达式的匹配,由于对正则表达式掌握不够熟练,因此花费了额外时间进行调试与优化。
注意:上述程序基于Python 3.5版本编写。Python 3与Python 2之间存在一定差异,初学基础语法时容易在此处遇到兼容性问题或陷阱。
以上即为Python爬虫数据保存至本地文件的具体实现细节,感谢阅读与支持。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













