需要有关Python scraper的帮助

时间:2011-07-22 19:53:05

标签: python image thumbnails beautifulsoup urllib

我正在尝试使用urllib和python制作刮刀,我可以下载图像,但它们是缩略图,250x250或更少。(我正在尝试4chan,因为我喜欢一些图片线程) 我怎样才能获得完整的图像? 这是我的代码

    import urllib2, urllib
from BeautifulSoup import BeautifulSoup
import re
import urlparse

i = 0

ext = "'src' : re.compile(r'(jpe?g)|(png)|$'"

url = raw_input("Enter URL here:")
ender = raw_input("Enter File Type Here(For Images enter 'img'):")
if ender == "img":
    ender = 'img', {'src' : re.compile(r'(.jpe?g)|(.png)|(.gif)$')}

else:
    if "." in ender:
        end = ender
    else:
        end = ".%s" % ender


raw = urllib.urlopen(url)
soup = BeautifulSoup(raw)

parse = list(urlparse.urlparse(url))

for ender in soup.findAll(ender):
    links = "%(src)s"% ender
    print links
    str(links)
    if ".jpg" in links:
        end = ".jpg"
    if ".jpeg" in links:
        end = ".jpeg"
    if ".gif" in links:
        end = ".gif"
    if ".png" in links:
        end = ".png"
    i += 1
    urllib.urlretrieve(links, "%s%s" % (i, end))

1 个答案:

答案 0 :(得分:2)

由于您可以点击查看更大的链接,因此图片标记周围的<a href="url">中的网址指向完整图片。

因此,只需阅读href属性的值,然后下载该属性而不是图像的src属性。