Crossin的编程教室

标题: 写了一个爬虫,为何老报错? [打印本页]

作者: w5132008    时间: 2013-9-7 22:51
标题: 写了一个爬虫,为何老报错?
本帖最后由 w5132008 于 2013-9-7 22:53 编辑

环境:win
版本:python3.3

老报错,ascii啥的。
测试可用帖子ID:2537728260,这个事符合判断要求的
  1. import urllib.request
  2. import re

  3. #下载图片
  4. def getImage(html):
  5.     reg=r'http://imgsrc.baidu.com/forum/w%3D580.+\.jpg'
  6.     imgre=re.compile(reg)
  7.     imglist=imgre.findall(html)
  8.     x=1
  9.     #限制下载的图片数
  10.     for imgurl in imglist:
  11.         if x<=10:
  12.             urllib.request.urlretrieve(imgurl,'%s.jpg'%x)
  13.             x+=1
  14.         else:
  15.             print('超过图片数量限制')
  16.             break

  17. #获取html
  18. def getHtml(url):
  19.     html=urllib.request.urlopen(url).read().decode('gbk')
  20.     reg=r'%C9%E3%D3%B0'
  21.     imgre=re.compile(reg)
  22.     resultlist=imgre.findall(html)
  23.     if resultlist:
  24.         return html

  25. #获取帖子id
  26. def getUrl(num):
  27.     url='http://tieba.baidu.com/p/%s'%num
  28.     return url

  29. #从输入的帖子开始获取,直到上限
  30. num=input('输入起始数:')
  31. while int(num)<=2537728262:
  32.     url=getUrl(num)
  33.     html=getHtml(url)
  34.     getImage(html)
  35.     num+=1
  36. else:
  37.     print('输入ID超出范围!')
复制代码

作者: w5132008    时间: 2013-9-11 20:02
居然没人回复,老师,求教。。。
:'(:'(:'(:'(:'(:'(
作者: crossin先生    时间: 2013-9-13 01:56
你的imgurl似乎取的不对
你把imgurl输出出来看看,似乎多了很多东西
作者: hunter    时间: 2014-1-10 12:44





欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5