当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 48 篇帖子 ]  前往页数 上一页  1, 2, 3, 4
作者 内容
46 楼 
 文章标题 : Re: [二星]程序开发,不限语言,抓取网页中的图片
帖子发表于 : 2013-04-25 8:39 

注册: 2013-04-25 8:36
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
:em05 开心到站


页首
 用户资料  
 
47 楼 
 文章标题 : Re: [二星]程序开发,不限语言,抓取网页中的图片
帖子发表于 : 2013-07-03 19:55 

注册: 2013-07-03 19:52
帖子: 1
系统: ubuntu
送出感谢: 0 次
接收感谢: 0 次
http = require 'http'
urllib = require 'url'
queryString = require 'querystring'

server = http.createServer (req, resp) ->
urlObj = urllib.parse(req.url)
pathname = urlObj.pathname

initHtml = "<form action='/submit' method='get'><div><input type='text' name='reqUrl'><input type='submit'></div></form>"

if pathname is '/submit'
reqObj = queryString.parse(urlObj.query)
resp.setHeader 'Content-Type', 'text/html'

if reqObj.reqUrl
backServer reqObj.reqUrl, (err, datas) ->
parseHtml datas, (imgs) ->
if imgs and imgs.length > 0
resp.write "#{initHtml}<div>#{imgs.join('')}</div>"
resp.end()
else
resp.write('搜索图片为空')
resp.end()
else
resp.write('参数为空')
resp.end()
else
resp.setHeader 'Content-Type', 'text/html'
resp.write(initHtml)
resp.end()

server.listen(9999)

backServer = (url, cb) ->
options = urllib.parse url
options.method = 'GET'

req = http.request options, (res) ->
chunks = []
res.on 'data', (chunk) ->
chunks.push chunk

res.on 'end', () ->
buffer = Buffer.concat chunks
cb(null, buffer)

res.on 'error', (err) ->
cb(err)

req.on 'error', (err) ->
cb(err)

req.end()

parseHtml = (datas, cb) ->
reg = /<img[^>]+src="[^"]+"[^>]*>/g
htmlToString = datas.toString() if datas
imgs = htmlToString.match reg
cb(imgs)


页首
 用户资料  
 
48 楼 
 文章标题 : Re: [二星]程序开发,不限语言,抓取网页中的图片
帖子发表于 : 2016-05-07 17:27 
头像

注册: 2010-10-07 14:23
帖子: 33999
地址: 某系某星某洲某国某省某市
系统: Archdows10
送出感谢: 29
接收感谢: 151
代码:
# coding=utf-8

import re
import urllib.request
import os

def getHtml(url):
   page = urllib.request.urlopen(url)
   html = page.read().decode('utf-8')
   return html

def getImg(html):
   reg = r'src="(.+?\.jpg)"'
   imgre = re.compile(reg)
   imglist = imgre.findall(str(html))
   print(imglist)
   x = 0
   try:
      os.mkdir("pic")
   except :
      pass

   for imgurl in imglist:
      try:
         conn = urllib.request.urlopen(imgurl)
         f = open("pic\{0}.jpg".format(x),'wb')
         f.write(conn.read())
         f.close()
         x=x+1   
      except :
         pass
   
html = getHtml("http://www.gamersky.com/")
getImg(html)



_________________
心似浮云常自在,意如流水任东西。
此事背后一定有个天大的咪咪
广告:
1、走过路过,不要错过,dropbox网盘2.25G大放送
py大法好,退C保平安
java多妖孽,VB本异端
日诵一千遍,快活似神仙


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 48 篇帖子 ]  前往页数 上一页  1, 2, 3, 4

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译