山东大学暑期项目实训——农产品智能推荐系统——第二周(2)

爬取代码:

import pandas
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from bs4 import BeautifulSoup
import requests, sys
from time import sleep
from selenium import webdriver
from lxml import etree
import csv
from selenium.webdriver.common.action_chains import ActionChains
import pymysql
import codecs
import pandas as pd

options = webdriver.ChromeOptions()

# 不加载图片,加快访问速度
options.add_experimental_option("prefs",{"profile.mamaged_default_content_settings.images":2})

# 此步骤很重要,设置为开发者模式,防止被各大网站识别出来使用了Selenium
options.add_experimental_option('excludeSwitches',['enable-automation'])

chrome_driver = 'C:/Users/admin/Virtualenv/flask-env/Scripts/chromedriver.exe'  #chromedriver的文件位置
driver = webdriver.Chrome(executable_path = chrome_driver)




# print('导入数据库')
# connect = pymysql.connect(host='localhost', user='root', password='112121', db='nongchanpin', port=3306)
# cursor = connect.cursor()
# print("连接数据库成功")
url = 'http://www.vipveg.com/price/2018/'  # 首页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:
            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("2018price.csv", 'a', encoding="gbk") as f1:
                        print("{},{},{},{},{},{}".format(wupin,'蔬菜','元/公斤',price2,shichang,time), file=f1)
                        f1.close()
                    # cursor.execute(
                    #         'insert into 2021price(名称,类别,单位,价格,市场名称,采集时间)VALUES ("{}","{}","{}","{}","{}","{}")'.format(wupin,'蔬菜','元/公斤',price2,shichang,time))
                    # connect.commit()
            except:
                yue.append(13-i)
                liu.append(page)
                break
except:
    pass
print(yue)
print(liu)
# cursor.close()
# connect.close()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)javaEE_SSH_mysql码头船只出行及配套货柜码放管理系统的设计与实现(源码+数据库sql+lun文+视频齐全)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值