Как взять строку из файла sql и поместить ее в переменную в python - PullRequest
1 голос
/ 22 января 2020

Я здесь новичок и довольно плохо знаком с программированием, поэтому, пожалуйста, помните об этом.

Я работаю над созданием большой базы данных и мне нужны изображения для go с данными, которые у меня уже есть в моя база данных У меня есть файл sql, который выглядит примерно так:

CREATE TABLE `processor` (
  `id` int(11) NOT NULL,
  `name` text NOT NULL,
  `Product Collection` text,

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `processor` (`id`, `name`, `Product Collection`) VALUES
(361, 'Intel Pentium D Processor 830 (2M Cache, 3.00 GHz, 800 MHz FSB)', 'Legacy Intel Pentium Processor'),
(362, 'Intel Pentium D Processor 840 (2M Cache, 3.20 GHz, 800 MHz FSB)', 'Legacy Intel Pentium Processor'),
(363, 'Intel Pentium D Processor 915 (4M Cache, 2.80 GHz, 800 MHz FSB)', 'Legacy Intel Pentium Processor'),

Теперь мне нужно получить изображение для каждой строки в моей базе данных. Поэтому я провел поиск и начал работать с Beautifulsoup, чтобы найти что-то в Google и загрузить изображение для него. Хотя учебник, которому я следовал, не использовал отдельный файл для своего поискового запроса, и, как я уже сказал, я все еще новичок ie с python и Beautifulsoup. Поэтому мне было интересно, смогу ли я использовать свой файл sql и сказать bs взять имя каждой строки, которую я имею, и использовать это в качестве ключевого слова для поиска в изображениях Google. Может быть, я мог бы использовать идентификатор в for-l oop?

for i in range (1, 2642):
    id = i
    keyword = #get the keyword (processor name) that belongs to the id
    i += 1

Я знаю, что я могу получить изображения, которые отличаются от названия процессора, но это не так уж важно, так как это не для профессионального использования или чего-то еще. Это для моего школьного проекта, поэтому, если мой скребок загрузит несколько неправильных изображений, это не будет иметь большого значения.

Спасибо уже!

РЕДАКТИРОВАТЬ:

Я попробовал это ( только соответствующая часть кода):

def run(query, save_directory, num_images=100):
    query = '+'.join(query.split())
    logger.info("Extracting image links")
    images = extract_images(query, num_images)
    logger.info("Downloading images")
    download_images_to_dir(images, save_directory, num_images)
    logger.info("Finished")

def main():
    parser = argparse.ArgumentParser(description='Scrape Google images')
    parser.add_argument('-s', '--search', default= myresult, type=str, help='search term')
    parser.add_argument('-n', '--num_images', default=1, type=int, help='num images to save')
    parser.add_argument('-d', '--directory', default=r'C:\xampp\htdocs\dashboard\IT\GIP\other\ImageDownloader-master\image', type=str, help='save directory')
    args = parser.parse_args()
    run(args.search, args.directory, args.num_images)

if __name__ == '__main__':
    for i in range(1, 2642):
        id = i
        habe = mysql.connector.connect(
        host="localhost",
        user="root",
        passwd="",
        database="habe"
        )
        mycursor = habe.cursor()
        mycursor.execute("SELECT name FROM processor WHERE id=1")
        myresult = mycursor.fetchone()
        i += 1
        main()

Но теперь я получаю объект AttributeError: у 'tuple' нет атрибута 'split' во второй строке: query = '+'. join (query .split ())

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...