最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

使用Python3编写抓取网页和只抓网页图片的脚本

来源:动视网 责编:小采 时间:2020-11-27 14:34:46
文档

使用Python3编写抓取网页和只抓网页图片的脚本

使用Python3编写抓取网页和只抓网页图片的脚本:最基本的抓取网页内容的代码实现: #!/usr/bin/env python from urllib import urlretrieve def firstNonBlank(lines): for eachLine in lines: if not eachLine.strip(): continue else: return eac
推荐度:
导读使用Python3编写抓取网页和只抓网页图片的脚本:最基本的抓取网页内容的代码实现: #!/usr/bin/env python from urllib import urlretrieve def firstNonBlank(lines): for eachLine in lines: if not eachLine.strip(): continue else: return eac


最基本的抓取网页内容的代码实现:

#!/usr/bin/env python 
 
from urllib import urlretrieve 
 
def firstNonBlank(lines): 
 for eachLine in lines: 
 if not eachLine.strip(): 
 continue 
 else: 
 return eachLine 
 
def firstLast(webpage): 
 f = open(webpage) 
 lines = f.readlines() 
 f.close() 
 print firstNonBlank(lines), 
 lines.reverse() 
 print firstNonBlank(lines), 
 
def download(url='http://www',process=firstLast): 
 try: 
 retval = urlretrieve(url)[0] 
 except IOError: 
 retval = None 
 if retval: 
 process(retval) 
 
if __name__ == '__main__': 
 download() 

利用urllib模块,来实现一个网页中针对图片的抓取功能:

import urllib.request 
import socket 
import re 
import sys 
import os 
targetDir = r"C:UserselqstuxDesktoppic" 
def destFile(path): 
 if not os.path.isdir(targetDir): 
 os.mkdir(targetDir) 
 pos = path.rindex('/') 
 t = os.path.join(targetDir, path[pos+1:]) 
 return t 
 
if __name__ == "__main__": 
 hostname = "http://www.douban.com" 
 req = urllib.request.Request(hostname) 
 webpage = urllib.request.urlopen(req) 
 contentBytes = webpage.read() 
 for link, t in set(re.findall(r'(http:[^s]*?(jpg|png|gif))', str(contentBytes))): 
 print(link) 
 urllib.request.urlretrieve(link, destFile(link)) 

import urllib.request 
import socket 
import re 
import sys 
import os 
targetDir = r"H:pic" 
def destFile(path): 
 if not os.path.isdir(targetDir): 
 os.mkdir(targetDir) 
 pos = path.rindex('/') 
 t = os.path.join(targetDir, path[pos+1:]) #会以/作为分隔 
 return t 
 
if __name__ == "__main__": 
 hostname = "http://www.douban.com/" 
 req = urllib.request.Request(hostname) 
 webpage = urllib.request.urlopen(req) 
 contentBytes = webpage.read() 
 match = re.findall(r'(http:[^s]*?(jpg|png|gif))', str(contentBytes) )#r'(http:[^s]*?(jpg|png|gif))'中包含两层圆括号,故有两个分组, 
 #上面会返回列表,括号中匹配的内容才会出现在列表中 
 for picname, picType in match: 
 print(picname) 
 print(picType) 
 
 
''''' 
输出: http://img3.douban.com/pics/blank.gif gif http://img3.douban.com/icon/g111328-1.jpg jpg http://img3.douban.com/pics/blank.gif gif http://img3.douban.com/icon/g197523-19.jpg jpg http://img3.douban.com/pics/blank.gif gif ... '''

文档

使用Python3编写抓取网页和只抓网页图片的脚本

使用Python3编写抓取网页和只抓网页图片的脚本:最基本的抓取网页内容的代码实现: #!/usr/bin/env python from urllib import urlretrieve def firstNonBlank(lines): for eachLine in lines: if not eachLine.strip(): continue else: return eac
推荐度:
标签: 脚本 python 抓取
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top