python数据爬下来保存的位置
作者:十一月的萧邦。 发布时间:2021-01-29 20:49:19
标签: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。python3 和 python2 还是有些区别的。我刚开始看基础语法的时候就栽了一些坑里。
来源:https://blog.csdn.net/weixin_45625815/article/details/103734658


猜你喜欢
- 实现功能:删除当前目录下,除保留目录和文件外的所有文件和目录#!bin/env pythonimport osimport os.pathi
- Go语言中有缓冲的通道(buffered channel)是一种在被接收前能存储一个或者多个值的通道。这种类型的通道并不强制要求 gorou
- 目录模板的用处模板语法继承和super函数利用jinja2 进行渲染模板的用处jinja2 可以用来修改配置文件,把配置文件的关键地方可以用
- --1、为数据库启用SQL Server全文索引EXEC sp_fulltext_database 'enable'--2、
- 脚手架vue-cli 搭建的项目,build后放于服务器上,发现其他资源全部变成静态加载成功,但路由视图为空,最初以为是webpack打包的
- tips:如果根目录下有favicon.ico,可省去<link rel="shortcut icon" ...&
- 最近在使用爬虫爬取数据时,经常会返回403代码,大致意思是该IP访问过于频繁,被限制访问。限制IP访问网站最常用的反爬手段了,其实破解也很容
- 题目:CSV格式清洗与转换描述附件是一个CSV格式文件,提取数据进行如下格式转换:
- 一、弹窗事件是什么?弹窗事件就是在我们执行某操作的时候,弹出信息框给出提示。或收集数据的时候,弹出窗口收集信息,不想收集可以取消隐藏。二、简
- 流程控制流程:代码执行的过程控制:对代码执行过程的把控三大结构顺序结构:代码默认从上到下,依次执行分支结构:单项分支,双向分支,多项分支,巢
- 代码如下:function checkip(checkstring)'用正则判断IP是否合法 dim re1 set re1=new
- 效果图动画代码这里 只提供图中购物车动画代码,不提供以上点餐界面(需要点餐界面 点击这里:Gitee仓库)。在触发代码中使用 this.ca
- 为了提高Asp程序的性能,人们常常将经常使用的数据缓存在 Application,但是你修改了数据库后怎么让application更新呢,本
- 这次做一个比较贴近我实际的东西:python分析作业提交情况。要求: 将服务器中交作业的学生(
- 字符画,一种由字母、标点、汉字或其他字符组成的图画。简单的字符画是利用字符的形状代替图画的线条来构成简单的人物、事物等形象,它一般由人工制作
- 下面的例子简单的演示了DOM对XML的操作,详细解释请看代码中的注释 <? /****************************
- Form表单的功能自动生成HTML表单元素检查表单数据的合法性如果验证错误,重新显示表单(数据不会重置)数据类型转换(字符类型的数据转换成相
- 前言既然在Pathlib库中提到了glob()函数,那么我们就专门用一篇内容讲解文件名的匹配。其实我们有专门的一个文件名匹配库就叫:glob
- 一个方便的特性是你可以给一个视图指定默认的参数。 这样,当没有给这个参数赋值的时候将会使用默认的值。例子:# urls.pyfrom dja
- 什么是goroutine?Goroutine是建立在线程之上的轻量级的抽象。它允许我们以非常低的代价在同一个地址空间中并行地执行多个函数或者