Не думаю, что могу ответить на ваш вопрос напрямую, но я заметил, что изображения на целевой странице иногда оборачиваются по-разному.Я сам не знаком с xpath и не смог заставить работать селектор чисел, несмотря на этот пост .Вот несколько примеров, чтобы попробовать:
tree.xpath('//html//body//div//div//table//tr//td//div//a//img[@src]')
или
tree.xpath('//table//tr//td//div//img[@src]')
или
tree.xpath('//img[@src]') # 68 images
Ключ к этому медленно накапливается.Найдите все изображения, затем найдите изображение, завернутое в интересующий вас тег, и т. Д., И т. Д., Пока вы не будете уверены, что сможете найти только те изображения, которые вас интересуют.
Обратите внимание, что [@src]
позволяетнам теперь получить доступ к источнику этого изображения.Используя этот пост , мы можем теперь загрузить любое / все изображение, которое мы хотим:
import shutil
from lxml import html
import requests
page = requests.get('http://www.bvmjets.com/')
tree = html.fromstring(page.content)
cool_images = tree.xpath('//a[@target=\'_blank\']//img[@src]')
source_url = page.url + cool_images[5].attrib['src']
path = 'cool_plane_image.jpg' # path on disk
r = requests.get(source_url, stream=True)
if r.status_code == 200:
with open(path, 'wb') as f:
r.raw.decode_content = True
shutil.copyfileobj(r.raw, f)
Я очень рекомендую посмотреть Beautiful Soup .Для меня это помогло моим любителям веб-царапин.Посмотрите на этот пост для соответствующей отправной точки.
Возможно, это не тот ответ, который вы ищете, но надеюсь, что это отправная точка / какой-то полезной для вас - лучше всегоудачи!