需要帮助构建Python爬虫

-3 投票
1 回答
938 浏览
提问于 2025-04-16 22:06

我正在用Python的urllib库做一个网页抓取工具,我可以下载图片,但下载的都是缩略图,大小只有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 个回答

2

因为你可以点击查看更大的链接,所以在图片标签周围的 <a href="url"> 里的网址指向的是完整的图片。

所以只需要读取 href 属性的值,然后下载这个链接,而不是下载图片的 src 属性。

撰写回答