农产品信息智能推荐平台(6)
更新市场数据
我们根据所需内容找到了一个网站“http://www.vipveg.com/price/2021/”,如图:
我们就决定在这上面爬取数据。
代码如下:
url = 'http://www.vipveg.com/price/2019/' # 首页url
yue=[]
liu=[]
driver.get(url) # 请求首页面
driver.maximize_window()
driver.implicitly_wait(3)
driver.find_element_by_xpath('/html/body/div/table[6]/tbody/tr/td[2]/table[1]/tbody/tr[2]/td/table/tbody/tr[4]/td[2]/a[2]').click()
try:
for i in range(1,13):
driver.find_element_by_xpath('/html/body/div/table[6]/tbody/tr/td[2]/table[1]/tbody/tr[2]/td/table/tbody/tr[2]/td[2]/a['+str(i)+']').click()
page=1
sleep(1)
while True:
if page > int(driver.find_element_by_xpath('//*[@id="pager"]/span/b').text):
break
try:
driver.find_element_by_xpath('//*[@id="pager"]/span/input').clear()
driver.find_element_by_xpath('//*[@id="pager"]/span/input').send_keys(page)
sleep(1)
page += 1
action = ActionChains(driver)
action.key_down(Keys.ENTER).key_up(Keys.ENTER).perform()
sleep(2)
for row in range(1,26):
wupin=driver.find_element_by_xpath('/html/body/div/table[6]/tbody/tr/td[2]/table[2]/tbody/tr[2]/td/table/tbody/tr[2]/td/table/tbody/tr['+str(row)+']/td[1]').text
shichang=driver.find_element_by_xpath('/html/body/div/table[6]/tbody/tr/td[2]/table[2]/tbody/tr[2]/td/table/tbody/tr[2]/td/table/tbody/tr['+str(row)+']/td[2]').text
price2=driver.find_element_by_xpath('/html/body/div/table[6]/tbody/tr/td[2]/table[2]/tbody/tr[2]/td/table/tbody/tr[2]/td/table/tbody/tr['+str(row)+']/td[5]').text[1:]
time=driver.find_element_by_xpath('/html/body/div/table[6]/tbody/tr/td[2]/table[2]/tbody/tr[2]/td/table/tbody/tr[2]/td/table/tbody/tr['+str(row)+']/td[6]').text
price=float(price2)*2
print(time)
with open("2019price.csv", 'a', encoding="gbk") as f1:
print("{},{},{},{},{},{}".format(wupin,'蔬菜','元/公斤',price2,shichang,time), file=f1)
f1.close()
except:
yue.append(13-i)
liu.append(page)
break
except:
pass
print(yue)
print(liu)
然后分别爬取2019,2020,2021年的数据,并保存到csv文件中。