Я здесь новичок и довольно плохо знаком с программированием, поэтому, пожалуйста, помните об этом.
Я работаю над созданием большой базы данных и мне нужны изображения для 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 ())