爬取股票网站,可以看到打开谷歌浏览器,抓取页面内容
点击下一页进行多页面抓取。
代码抓取了3页的内容,用于学习使用。
需要安装selenium库
执行效果如下
首先导入selenium , 导入 time是用来让任务休眠使用
代码语言:javascript复制from selenium import webdriverimport time
定义一个函数,来提取我们想要的内容
使用xpath来获取网页内的股票关键内容
整理之后并在一行打印出来,
没有过多的对内容来做排版
代码语言:javascript复制def sj(driver): xpath = '//*/tbody/tr[{}]/td[{}]' # xpaths = [xpath.format(i) for i in range(1,20)]
for j in range(1, 21): for i in range(1, 20):
ss = driver.find_element_by_xpath(xpath.format(j, i)) print(ss.text, end="tt")
print()
定义一个表头,偷懒的方法。。。
然后获取内容并逐行打印,
内容打印完毕后,抓取下一页的位置,单击
延时3秒,等待页面内容刷新,不然会出现意外
代码语言:javascript复制tt = '序号tt代码tt名称tt相关链接tt最新价tt涨跌幅tt涨跌额tt成交量(手)tt成交额tt振幅tt最高tt最低tt今开tt昨收tt量比tt换手率tt市盈率(动态)tt市净率'print(tt)for i in range(3): sj(driver) driver.find_element_by_class_name('next').click() time.sleep(3) # 暂停3秒 等待浏览器缓存
代码语言:javascript复制from selenium import webdriverimport time
""" 使用selenium框架爬取数据"""def sj(driver): xpath = '//*/tbody/tr[{}]/td[{}]' # xpaths = [xpath.format(i) for i in range(1,20)]
for j in range(1, 21): for i in range(1, 20):
ss = driver.find_element_by_xpath(xpath.format(j, i)) print(ss.text, end="tt")
print()
# 初始化浏览器driver = webdriver.Chrome()# 设置窗口大小# driver.set_window_size(1920, 1080)
# 最大化窗口# driver.maximize_window()# 请求网址driver.get("http://quote.eastmoney.com/center/gridlist.html#sh_a_board") # 访问股票网站
# xpathtt = '序号tt代码tt名称tt相关链接tt最新价tt涨跌幅tt涨跌额tt成交量(手)tt成交额tt振幅tt最高tt最低tt今开tt昨收tt量比tt换手率tt市盈率(动态)tt市净率'print(tt)for i in range(3): sj(driver) driver.find_element_by_class_name('next').click() time.sleep(3) # 暂停3秒 等待浏览器缓存
driver.quit()