农产品信息智能推荐平台(3)
昨天在摄图网上爬取的图片信息并不理想,所以又找到了百度的图片搜索功能,因此采用百度图片来代替之前的图片数据。
代码:
print('导入数据库')
connect = pymysql.connect(host='localhost', user='root', password='xxxxx', db='nongchanpin', port=3306)
cursor = connect.cursor()
print("连接数据库成功")
jiage=pandas.read_csv('2019.csv',encoding='gbk')
jiage2=pandas.read_csv('pic2.csv',encoding='gbk')
name2=jiage2['name']
name=jiage['名称']
namelist=[]
namelist2=[]
liu=[]
for i in range(len(name)):
if name[i] in namelist:
continue
else:
namelist.append(name[i])
for i in range(len(name2)):
if name2[i] in namelist2:
continue
else:
namelist2.append(name2[i])
for i in range(len(namelist)):
if namelist[i] in namelist2:
continue
else:
liu.append(namelist[i])
print(liu)
url='https://image.baidu.com/search/index?tn=baiduimage&ps=1&ct=201326592&lm=-1&cl=2&nc=1&ie=utf-8&word=%E5%9B%BE%E7%89%87'
srclist=[]
driver.get(url)#请求首页面
driver.maximize_window()
driver.implicitly_wait(3)
n=1
for i in range(len(namelist)):
if n==len(srclist):
liu.append(namelist[i-1])
n = len(srclist)
sleep(1)
driver.find_element_by_xpath('//*[@id="kw"]').clear()
driver.find_element_by_xpath('//*[@id="kw"]').send_keys(namelist[i])
driver.find_element_by_xpath('//*[@id="imgMainSearch"]/div[1]/form/span[2]/input').click()
sleep(2)
try:
shuju = driver.find_element_by_xpath('//*[@id="imgid"]/div/ul/li[2]/div/a/img')
ip = shuju.get_attribute("src")
if ip in srclist:
continue
else:
cursor.execute(
'insert into pic2(name,src)VALUES ("{}","{}")'.format(namelist[i], ip))
connect.commit()
srclist.append(ip)
except:
continue
for i in range(len(liu)):
sleep(1)
driver.find_element_by_xpath('//*[@id="kw"]').clear()
driver.find_element_by_xpath('//*[@id="kw"]').send_keys(liu[i])
driver.find_element_by_xpath('//*[@id="imgMainSearch"]/div[1]/form/span[2]/input').click()
sleep(2)
try:
shuju = driver.find_element_by_xpath('//*[@id="imgid"]/div/ul/li[5]/div/a/img')
ip = shuju.get_attribute("src")
if ip in srclist:
continue
else:
cursor.execute(
'insert into pic2(name,src)VALUES ("{}","{}")'.format(liu[i], ip))
connect.commit()
srclist.append(ip)
except:
continue
cursor.close()
connect.close()
看了结果,确实比之前的图片信息好了太多。