【Python】第一个爬虫
2024-09-07 22:00:48
import urllib.request
import re class DownPic: def __init__(self,url,re_str):
self.url = url
self.re_str = re_str def getHtml(self,url):
page = urllib.request.urlopen(url)
html = page.read()
return str(html) def downloadPic(self):
imgre = re.compile(self.re_str) #构造正则
html = self.getHtml(self.url) #读取界面
imglist = re.findall(imgre,html)
x = 0
for imgurl in imglist:
print(imgurl)
try:
urllib.request.urlretrieve(imgurl,"../data/%s.jpg" % x) # 将图片取到本地
except:
print("error")
x += 1
上面是一个类,传入两个参数,一个是网页,一个是要匹配的图片的地址
下面是调用:
from downpic import DownPic downPic = DownPic("http://tieba.baidu.com/p/2460150866",r'src="(https://imgsa.baidu.com.+?\.jpg)" pic_ext') downPic.downloadPic()
print("over")
从上面可以看到,一个简单爬虫的基本步骤是:
1、读取界面的HTML
2、用正则去获取到目标链接
3、下载
最新文章
- Leetcode 详解(Substing without repeats character)
- IOS 6和 IOS7适配的一些问题
- sprint1的个人总结及《构建之法》8、9、10章读后感
- Devexpress中WebChartControl控件柱状统计图的做法(数据为调用存储过程)
- bzoj3672
- 实现C#给系统其他窗口输入的思路
- ServiceStack.OrmLite
- TFS 如何恢复到指定版本
- C++静态成员函数不能调用非静态成员变量
- Hyper-v 安装CentOS
- [MSSQL]从SQL语句的角度 提高数据库的访问性能
- webpack 3.X学习之JS压缩与打包HTML文件
- Jenkins 学习笔记(二):很简单的发布一次
- ES6 数组遍历方法的实战用法总结(forEach,every,some,map,filter,reduce,reduceRight,indexOf,lastIndexOf)
- leetcode287
- 博文中标题的样式H1H2H3H4
- [转]cocos2d-js 3.0 屏幕适配方案 分辨率适应
- sqli-labs:1-4,基于报错的注入
- [error] 1507#0: *22 FastCGI sent in stderr: ";Primary script unknown"; while reading response header from upstream, client: 10.0.0.1, server: www.wordpress.com, request: ";GET /info.p
- CocoaPods pod install的时候报错:invalid byte sequence in UTF-8 (ArgumentError)解决办法