为什么爬虫爬取到的数据都是过去的日期和数据
from selenium import webdriver
import re
import pymysql
chrome_options = webdriver.ChromeOptions()
# chrome_options.add_argument('--headless')
browser = webdriver.Chrome(options=chrome_options)
def sina(stock):
#1 获取股价数据
url='http://finance.sina.com.cn/realstock/company/'+stock+'/nc.shtml'
browser.get(url)
data = browser.page_source
# print(data)
# browser.quit()
p_price = '<div id="price" class=".*?">(.*?)</div>'
price = re.findall(p_price, data)[0]
p_ctime = '<div class="time blue_d" id="hqTime">(.*?)</div>'
ctime = re.findall(p_ctime, data, re.S)[0].strip()
#print(price)
#print(ctime[0])
# 2.数据存入数据库及数据去重(参考4.4节和5.1节)
db = pymysql.connect(host='localhost', port=3306, user='root', password='', database='pachong', charset='utf8')
cur = db.cursor() # 获取会话指针,用来调用SQL语句
# 2.1 查询数据,为之后的数据去重做准备
sql_1 = 'SELECT * FROM sina WHERE stock =%s'
cur.execute(sql_1, stock)
data_all = cur.fetchall()
if len(data_all)==0:
sql_2 = 'INSERT INTO sina (stock, price, ctime) VALUES (%s,%s,%s)' # 编写SQL语句
cur.execute(sql_2, (stock, price[0], ctime[0])) # 执行SQL语句
db.commit() # 当改变表结构后,更新数据表的操作
else:
stock_all = []
ctime_all = []
for j in range(len(data_all)):
stock_all.append(data_all[j][0])
ctime_all.append(data_all[j][2])
print(stock_all)
print(ctime_all)
# 2.2 判断数据是否在原数据库中,不在的话才进行数据存储
cctime=ctime[0]
if (stock not in stock_all) & (cctime not in ctime_all):
sql_2 = 'INSERT INTO sina (stock, price, ctime) VALUES (%s,%s,%s)' # 编写SQL语句
cur.execute(sql_2, (stock, price[0], ctime[0])) # 执行SQL语句
db.commit() # 当改变表结构后,更新数据表的操作
cur.close() # 关闭会话指针
db.close() # 关闭数据库链接
stocks=['sh000001','sh000002','sh000003','sh000004']
import time
while True:
for stock in stocks:
sina(stock)
time.sleep(10)
无
想知道为什么会是这样,哪里出了错误?
那个网站不刷新就不更数据?是不是需要先刷新一下再爬
你贴的代码对吗?正则匹配不上啊
那你看网站网页标签里的日期呀,网站如果内容本身是这些日期的话,你拿取下来就这些呀?
你可以设定一个规则,默认从第一个爬取,然后在后台加一个缓存,已经爬取过的,就不用再重复爬了。
你这代码真的OK吗 我运行这样才能获取时间
还有你的代码下面红色框是什么操作
我不解,price本身就是价格一个字符串。你为什么要获取price索引0的值
其次你的cctime = crime[0] 为什么下面不直接用cctime 多此一举
其次你的ctime[0]按照我上面跑的也有问题。你是怎么获取出来的
嗯,在我认为,应该是需要做一次刷新标签页的动作,以获得最新的动态信息吧
阉割版的还是贴的