- 论坛徽章:
- 0
|
本帖最后由 laike9m 于 2013-02-07 15:58 编辑
小弟新学python,想做一个抓站的小程序练一下手。具体来说,就是随便找了一个漫画的网站,然后想能够把某一部漫画完整地抓下来
但是在获取大图片的url时出现了问题。比如下面这个网址
http://comic.131.com/content/16117/187873/3.html
对应的页面见附图
显然,我需要获取最大的那张图的url。对于131这个网站来说,它的漫画的主图片的id叫做ComicBigPic-
- <div style="position:relative;margin:0 auto; text-align:center;">
- <a href="http://comic.131.com/content/16117/187873/4.html"><img id="comicBigPic" src="./魔物娘的(相伴)日常-第10话-少年漫画-恋爱,人外,妖怪,杀必死-オカヤド@乾武丸-漫画频道-131游戏之家.._files/bcd0da3723fa0293f33c1ca3d626f8b014b6.jpg" alt="魔物娘的(相伴)日常-第10话-少年漫画-オカヤド@乾武丸" oncontextmenu="return false;"></a>
- </div>
复制代码 相关的python代码如下:
- import html.parser
- import urllib.request
- class parseEpisode(html.parser.HTMLParser):
- def handle_starttag(self,tag,attrs):
- if tag == 'img':
- istarget = 0
- for key,value in attrs:
- if key == 'id' and value == 'comicBigPic':
- print(attrs)
- istarget = 1
- if key == 'src' and istarget:
- istarget = 0
- self.picurl = value
- page = parseEpisode()
- response = urllib.request.urlopen('http://comic.131.com/content/16117/187873/3.html')
- page.feed(response.read().decode('utf-8'))
复制代码 然后非常奇怪的是,输出的图片的src居然和在网站上看到的不一样。。输出的是这个:- [('id', 'comicBigPic'), ('src', 'http://res.files.131.com/t.gif'), ('alt', '魔物娘的(相伴)日常-第10话-少年漫画-オカヤド@乾武丸'), ('oncontextmenu', 'return false;')]
复制代码 而原来应该是:http://res6.comic.131.com/ab/f2/ ... ca3d626f8b014b6.jpg 才对
我实在不知道是怎么回事。试过改headers也不行,我对于网站的原理不是很熟悉。难道有什么机制来在爬虫访问的时候修改src?? |
|