Scraper for downloading and saving images from web page
I would focus on the following things specifically:


variable and function naming:


use lower_case_with_underscores naming convention
what if we rename title to movie and movie_title to title - I think that would be a bit more descriptive
response should probably be named page_source since it is not a Response instance but already the text of the response

use of spaces and line breaks:


according to PEP8 coding style, you should have 2 line breaks between the functions
when passing a keyword argument to a function, don't put spaces around the =

code organization:


I would use a class to share a web-scraping session and have it parameterized with a url and a download directory. I think that would be more modular.



Improved code:

import os

import requests
from lxml import html


class ImageScraper:
    def __init__(self, url, download_path):
        self.url = url
        self.download_path = download_path

        self.session = requests.Session()

    def scrape_images(self):
        response = self.session.get(self.url).text

        tree = html.fromstring(response)
        for movie in tree.xpath('//div[@class="mv"]'):
            title = movie.findtext('.//h3/a')

            image_url = "https:" + movie.xpath('.//img/@src')[0]
            image_name = image_url.split('/')[-1]

            self.save_image(title, image_name, image_url)

    def save_image(self, movie_name, file_name, item_link):
        response = self.session.get(item_link, stream=True)

        if response.status_code == 200:
            with open(os.path.join(self.download_path, file_name), 'wb') as image_file:
                for chunk in response.iter_content(1024):
                    image_file.write(chunk)

        print(movie_name, file_name)


if __name__ == '__main__':
    scraper = ImageScraper(url="https://www.yify-torrent.org/search/1080p/",
                           download_path=r"C:\Users\ar\Desktop\mth")
    scraper.scrape_images()