当前位置: 首页 > news >正文

长春个人做网站免费建立个人网站

长春个人做网站,免费建立个人网站,湖南省人民政府热线电话,现在手机网站用什么做数据来源: https://www.cngold.org/img_date/ 因为这个网站是数据随时变动的,用requests、BeautifulSoup的方式解析html的话,数据的位置显示的是“--”,并不能取到数据。 所以采用webdriver访问网站,然后从界面上获取…

数据来源:

https://www.cngold.org/img_date/

因为这个网站是数据随时变动的,用requests、BeautifulSoup的方式解析html的话,数据的位置显示的是“--”,并不能取到数据。

所以采用webdriver访问网站,然后从界面上获取金价。

1、建表

在本地(服务器)上的mysql上建表,主要字段:sku、date_time、price,分别对应产品(也就是黄金)、时间、价格

2、读取金价函数

这个函数主要就是读取金价,并调用插入sql的函数:


def extract_info(url,id):print('开始')chrome_options = Options()chrome_options.add_argument('--disable-infobars')chrome_options.add_argument('--window-size=1920,1080')  # 可以设置浏览器窗口大小chrome_options.add_argument('--start-maximized')  # 可以让浏览器窗口最大化chrome_options.add_argument('--disable-extensions')  # 禁用扩展chrome_options.add_argument('--no-sandbox')  # 以最高权限运行chrome_options.add_argument('--disable-dev-shm-usage')  # 用于解决Chrome crash问题chrome_options.add_argument('--disable-browser-side-navigation')  # 禁用浏览器端导航chrome_options.add_argument('--enable-automation')  # 允许自动化chrome_options.add_argument("--headless")  # 设置Chrome无头模式print('过程1')driver=webdriver.Chrome(options=chrome_options)driver.get(url)print('过程2')driver.maximize_window()#time.sleep(5)text_list=driver.find_element(by=webdriver.common.by.By.XPATH,value='//html/body/div[3]/div/div[2]/div/div[3]/table/tbody/tr/td[2]/font')price_hour=text_list.textsql = 'insert into reptile.gold_price_log values("' + str(id) + '","' + datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') + '",' + str(price_hour) + ');'print(sql)sql_insert(sql, id)

数据插入函数:


def sql_insert(sql,id):sql=sqlalchemy.text(sql)print(sql_getcnt(id))if sql_getcnt(id) == 0:try:con.execute(sql)con.commit()except:print('执行失败')print(sql)
3、数据验证函数

因为爬取数据的目标是每个小时记录一次,为了避免测试、调试的数据干扰,做一个验证的方法,如果这个小时已经有数据了,就不再运行上个函数了:


def sql_getcnt(id):g_sql = '''selectcount(*) as cntfrom reptile.gold_price_logwhere sku="黄金"and date_format(date_time,'%Y-%m-%d %H:00:00')="''' + datetime.datetime.now().strftime('%Y-%m-%d %H:00:00') + '''"order by sku desc,date_time desc'''g_sql = sqlalchemy.text(g_sql)data = pd.read_sql_query(sql=g_sql, con=con, index_col=['cnt'])cnt = list(data.index)[0]#print(cnt)return cnt
4、主方法

url_list=['https://www.cngold.org/img_date/']
sku_list=['黄金']for i in range(len(sku_list)):print(sql_getcnt(sku_list[i]))if sql_getcnt(sku_list[i])>100:time.sleep(random.uniform(1, 5))print(str(sku_list[i])+'已存在')else:url_id=url_list[i]extract_info(url_id,sku_list[i])

有些写法是之前脚本复制过来的,所以偶尔会有些奇怪哈哈哈。

5、配置每小时调用

因为这个脚本是设置在了云服务器上,所以要在linux服务器上设置定时执行,我这边的逻辑是shell脚本调用python脚本,然后定时执行shell脚本。

shell脚本内容:

然后:

crontab -e

这样,就可以每小时记录金价了。

http://www.khdw.cn/news/68650.html

相关文章:

  • 计算机网站建设体会郑州网站建设公司
  • 百度网站名称电商软文范例100字
  • 吉林省交通建设集团有限公司网站超级推荐的关键词怎么优化
  • 徐州 网站制作360网站关键词排名优化
  • 网站建设公司如何提供客户服务百度首页的ip地址
  • 厦门专业网站建设网站域名查询地址
  • 怎么运营网站宁波seo外包公司
  • 制作网站需要哪些工具win7优化工具哪个好用
  • 青海wap网站建设公司如何快速收录一个网站的信息
  • 北京移动端网站广告外链购买平台
  • 大连网站推广怎么收费网络营销专业就业前景
  • 重庆h5建站模板网络整合营销方案ppt
  • 济南企业做网站高质量内容的重要性
  • 淘宝客网站建设教程百度推广联系人
  • 域名和网址的区别上海关键词优化方法
  • 专业网站建设seo优化运营
  • 广东营销型网站建设培训心得简短200字
  • 电子商务是干什么工作的网站seo基础
  • jsp网站开发工资windows优化大师和鲁大师
  • 张家港建网站成都做网络推广的公司有哪些
  • 代做效果图网站哪家好如何在百度上推广业务
  • 怎么做企业功能网站百度竞价app
  • wordpress忘记管理员seo平台
  • 众美商务公馆做网站郑州免费做网站
  • 交流做病理切片的网站市场监督管理局是干什么的
  • 泰国网购网站百度账号登录不了
  • 医院网站建设费用seo优化排名易下拉软件
  • 做网站后的总结唐山网站建设方案优化
  • 云数据库可以做网站吗网络营销是什么专业类别
  • 做的好的ppt下载网站优化网站标题和描述的方法