鍍金池/ 問答/Python  HTML/ Python 的select 方法抓取的多個鏈接列表,為什么這個列表索引只有一個

Python 的select 方法抓取的多個鏈接列表,為什么這個列表索引只有一個 [0]?如何批量下載這個列表鏈接的圖片?

用python的 requests 和BeautifulSoup的select方法 抓取糗百的圖片,無法批量下載。代碼如下:

import os
import urllib.request
import requests
from bs4 import BeautifulSoup
url = "https://www.qiushibaike.com/imgrank/"
wb_data = requests.get(url).text
soup = BeautifulSoup(wb_data,'lxml')
images = soup.select('div.thumb > a > img')
for img in images:
link = img.get('src')
links = 'https:' + link
`print(s)

獲得的圖片鏈接,打印的結果是

clipboard.png

然后,使用 urllib.rquest.retrieve() 方法遍歷所有鏈接,批量下載圖片。

urls = links
local = os.path.join('d:/我的電腦/圖片/Image','.jpg')
urllib.request.urlretrieve(urls,local)

程序臺沒有出錯,得到的結果是
文件夾下有一張圖片。只下載了一張圖片。但是根據(jù)我的測試觀察,文件夾下那張照片,是遍歷了所有圖片鏈接,并且下載后停留在了某一個圖片上。

我將鏈接單獨進行處理可以批量下載。如圖

clipboard.png

請問使用select 方法定位到的鏈接標簽如何進行處理?才能進行批量下載?
為何得到的鏈接是列表屬性,而且有很多鏈接,但是只有一個索引 links[0],而打印的links[0] 是這個結果,如圖
如何在仍舊使用美麗湯(比如不使用正則表達式)這個方法獲取鏈接,然后進行小的改動,進行批量下載?

clipboard.png

回答
編輯回答
綰青絲

你的links變量并不是一個列表,而是單個鏈接啊

2017年10月25日 16:36
編輯回答
黑與白
locals = [os.path.join('d:/我的電腦/圖片/Image',i.split('/')[-1]) for i in urls]
map(urllib.request.urlretrieve,urls,locals)
2017年7月24日 01:12