python抓取网页数据(这是Coursera上南京大学的《用Python玩转数据》的综合应用)

优采云 发布时间: 2022-04-08 04:10

  python抓取网页数据(这是Coursera上南京大学的《用Python玩转数据》的综合应用)

  这是Coursera在南京大学的“用Python玩数据”的综合应用。本文是一篇学习笔记,总结了所学内容。

  课上虽然给出了代码,但是无法运行代码,解决这些坑需要一定的时间。

  程序分为三部分,一是抓取雅虎财经的成份股数据,二是根据数据生成GUI图形界面,然后根据图形界面的选择生成相应的报表. 具体表述如下:

  

  一、创建图形界面

  这部分不是现在的重点,所以粗略介绍一下

  首先创建一个StockFrame类,该类与图形界面相关,收录多个功能。图形界面上的所有操作都是内部定义的。

  内部基本分为绘制图形界面、加载数据、选择操作、点击操作等。

  本文的图形界面主要包括状态栏、文本框、列表框、按钮等元素,UI界面的代码制作相对容易

  本文是用wxpython做的,还有其他的图形界面库。如果你有这个要求,你可以了解更多。

  二、获取雅虎财经数据

  这部分花了我一定的时间。类中的代码不能使用。由于雅虎财经采用动态加载,无法直接从静态页面读取数据。后来在知乎上的一个回答中看到了解决方法,具体地址忘记采集了,应该可以搜索到。

  另外,我们需要的数据需要正则表达式来解析,课堂上的正则表达式不能用,所以花了两个晚上学习正则表达式,基本可以应付获取需要的数据。

  数据获取代码如下

<p>#采用自动化工具驱动谷歌浏览器

driver = webdriver.Chrome()

driver.get(&#39;https://finance.yahoo.com/quote/%5EDJA&#39;)

#找到并自动点击Components项

element = driver.find_element_by_link_text(&#39;Components&#39;)

webdriver.ActionChains(driver).click(element).perform()

time.sleep(5)

#转码

dStr = driver.page_source.encode(&#39;utf-8&#39;)

#正则表达式获取成分股中所需要的参数

m = re.findall(r&#39;

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线