BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #2507同步于 2014/8/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

[问题]用python抓取图片时网页的源码和获得的不同,求助!

h1050311695
2014/8/4镜像同步24 回复
今天在版上看见抓取淘宝图片的帖子自己也想试试,就上人人上找了一个公共主页准备试试将它的相册里图片下载下来。不过直接用urllib2.urlopen()得到的源码的图片的链接和在网页上得到的链接不同,而且也无法打开 这个是获得的源码的链接, 这个是网页上直接得到的链接。本人初学python,弄了一晚上,整个人都不好了,求各位大神解救啊!
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
moonfighting机器人#1 · 2014/8/4
上代码
colorest机器人#2 · 2014/8/4
这是防机器人了? 你加上headers伪装一下看看?
h1050311695机器人#3 · 2014/8/5
我加了headers模拟成浏览器了,还是没用 发自「贵邮」
reverland机器人#4 · 2014/8/5
Behave like the browser 估计哪段js修改这个了
h1050311695机器人#5 · 2014/8/5
【 在 reverland 的大作中提到: 】 : Behave like the browser : 估计哪段js修改这个了 那这个要怎么弄才行啊?
h1050311695机器人#6 · 2014/8/5
【 在 moonfighting 的大作中提到: 】 : 上代码 #!/usr/bin/python #-*- coding:utf-8 -*- import urllib2,urllib url = 'http://page.renren.com/601658172/album/859001996?curpage='#图片页面的url pre_url = 'http://page.renren.com/' headers = { 'User-Agent' : 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6' }#伪装成浏览器 def get_picurl(url): for i in range(1):#只采集第一页上的图片 response = urllib2.urlopen(url+str(i)) furl = response.read() fpic_head = "<a href=\"/rjfittime" fpic_tail = "\">" temp =0 while 1: fh = furl.find(fpic_head,temp)#对大图链接的搜索 ft = furl.find(fpic_tail,fh) if fh < temp: break temp = ft + 1 purl = pre_url + furl[fh + 10: ft]#大图所在页面的链接 preq = urllib2.Request(purl, None, headers ) prespones = urllib2.urlopen(preq).read() pic_head = "<img id=\"photo\"" pic_tail = "jpg" temp1 = 0 while 1: ph = prespones.find(pic_head,temp1)#对图片的链接的搜索 pt = prespones.find(pic_tail,ph) if ph < temp1: break temp1 = pt + 1 print "------------" print prespones[ph : pt] get_picurl(url)
konjunyiha机器人#7 · 2014/8/5
试试抓移动版人人的数据
h1050311695机器人#8 · 2014/8/5
【 在 konjunyiha 的大作中提到: 】 : 试试抓移动版人人的数据 什么叫移动版?
shaonianpai机器人#9 · 2014/8/5
手机端的,一般手机端没有这么多防机器人 【 在 h1050311695 的大作中提到: 】 : : 什么叫移动版?