很早就听说了pyquery的强大。写了个简单的测试程序实验下。

思路是找个动态网页,先用PhantomJS加载,然后用PYQUERY解析。

1、随便找了个带表格的股票网页,里面有大量的股票数据,测试的目的就是抓取表格中的数据。

链接如下

http://quote.eastmoney.com/center/BKList.html#notion_0_0?sortRule=0

2、使用PhantomJS加载。

all_url = "http://quote.eastmoney.com/center/BKList.html#notion_0_0?sortRule=0"
a_driver = webdriver.PhantomJS()
a_driver.get(all_url)

3、使用pyquery分析。之前看有的博主建议在传入pq前先用lxml的etree规整一遍,测试了发现会报错。不如不用。

Traceback (most recent call last):
File "C:/Users/Administrator/PycharmProjects/p3test/pyquery_test.py", line 25, in <module>
doc = pq(etree.fromstring(a_driver.page_source))
File "lxml.etree.pyx", line 3213, in lxml.etree.fromstring (src\lxml\lxml.etree.c:77616)
File "parser.pxi", line 1819, in lxml.etree._parseMemoryDocument (src\lxml\lxml.etree.c:116413)
File "parser.pxi", line 1700, in lxml.etree._parseDoc (src\lxml\lxml.etree.c:114959)
File "parser.pxi", line 1040, in lxml.etree._BaseParser._parseUnicodeDoc (src\lxml\lxml.etree.c:109084)
File "parser.pxi", line 573, in lxml.etree._ParserContext._handleParseResultDoc (src\lxml\lxml.etree.c:103323)
File "parser.pxi", line 683, in lxml.etree._handleParseResult (src\lxml\lxml.etree.c:104977)
File "parser.pxi", line 613, in lxml.etree._raiseParseError (src\lxml\lxml.etree.c:103886)
lxml.etree.XMLSyntaxError: Opening and ending tag mismatch: link line 11 and head, line 17, column 4656

详细代码如下。

 all_url = "http://quote.eastmoney.com/center/BKList.html#notion_0_0?sortRule=0"

 a_driver = webdriver.PhantomJS()
a_driver.get(all_url)
#doc = pq(etree.fromstring(a_driver.page_source))
doc = pq(a_driver.page_source)
print("doc=",doc("tr")) for li in doc("tr").items():
if len(li("td"))>=12:
print("{0}-{1}-{2}-{3}-{4}-{5}".format(li("td").eq(0).text(),
li("td").eq(1).text(),
li("td").eq(2).text(),
li("td").eq(3).text(),
li("td").eq(4).text(),
li("td").eq(5).text(),))

输出结果如下:

 1-共享经济-行情 股吧 资金流-1164.83-47.98-4.30%
2-PM2.5-行情 股吧 资金流-2804.73-81.69-3.00%
3-钛白粉-行情 股吧 资金流-1139.54-32.39-2.93%
4-美丽中国-行情 股吧 资金流-2991.04-57.94-1.98%
5-京津冀-行情 股吧 资金流-2866.82-48.62-1.73%
6-北京冬奥-行情 股吧 资金流-1168.58-18.85-1.64%
7-OLED-行情 股吧 资金流-1394.67-22.55-1.64%
8-民营医院-行情 股吧 资金流-1670.81-24.72-1.50%
9-虚拟现实-行情 股吧 资金流-951.37-12.92-1.38%
10-次新股-行情 股吧 资金流-38011.00-499.03-1.33%
11-节能环保-行情 股吧 资金流-13137.08-151.37-1.17%
12-3D玻璃-行情 股吧 资金流-1067.91-11.35-1.07%
13-病毒防治-行情 股吧 资金流-1915.40-19.41-1.02%
14-蓝宝石-行情 股吧 资金流-1981.26-19.67-1.00%
15-体育产业-行情 股吧 资金流-1978.79-19.61-1.00%
16-二胎概念-行情 股吧 资金流-1799.18-17.44-0.98%
17-食品安全-行情 股吧 资金流-3180.84-30.23-0.96%
18-海绵城市-行情 股吧 资金流-1155.37-10.92-0.95%
19-ST概念-行情 股吧 资金流-26773.39-227.49-0.86%
20-创业成份-行情 股吧 资金流-2104.93-17.20-0.82%
21-合同能源-行情 股吧 资金流-1545.17-12.25-0.80%
22-网红直播-行情 股吧 资金流-855.33-6.28-0.74%
23-AB股-行情 股吧 资金流-10146.54-74.23-0.74%
24-雄安新区-行情 股吧 资金流-1425.79-9.86-0.70%
25-车联网-行情 股吧 资金流-1014.41-7.06-0.70%
26-滨海新区-行情 股吧 资金流-11399.25-72.70-0.64%
27-国产芯片-行情 股吧 资金流-992.71-6.22-0.63%
28-王亚伟系-行情 股吧 资金流-2568.52-14.95-0.59%
29-石墨烯-行情 股吧 资金流-2490.11-13.95-0.56%
30-燃料电池-行情 股吧 资金流-2121.03-11.85-0.56%
31-金融机具-行情 股吧 资金流-1768.72-9.12-0.52%
32-人工智能-行情 股吧 资金流-970.58-4.95-0.51%
33-独家药品-行情 股吧 资金流-1684.69-8.34-0.50%
34-免疫治疗-行情 股吧 资金流-1309.56-6.32-0.49%
												

pyquery学习笔记的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  3. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  4. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  5. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  6. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  7. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  8. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

  9. DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记

    今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...

随机推荐

  1. 【IOI 2018】Combo 组合动作(模拟,小技巧)

    题目链接 IOI的签到题感觉比NOI的签到题要简单啊,至少NOI同步赛我没有签到成功…… 其实这个题还是挺妙妙的,如果能够从题目出发,利用好限制,应该是可以想到的做法的. 接下来开始讲解具体的做法: ...

  2. 【Cf #502 H】The Films(莫队)

    题面的简述:总共有$m$种书,书架上共有$n$本书,给出$n$本书的种类,并有$Q$个询问,每次询问给出$l, r, k$.每次询问时都会先出现$k * m$本书,每种书各$k$本,然后再加入书架上的 ...

  3. 前端学习 -- Css -- 兄弟元素选择器

    为一个元素后边的元素设置css样式: 语法:前一个 + 后一个. 作用:可以选中一个元素后紧挨着的指定的兄弟元素. 为一个元素后边的所有相同元素设置css样式: 语法:前一个 ~ 后边所有. < ...

  4. Java EE之JSTL(上)

    1.JSP标签和JSTL简介 JSP标签看起来就像普通的HTML或者XML标签一样.一个JSP标签将执行某些操作. 为了引用JSP标签必须使用正确的XML命名空间. <%@ taglib pre ...

  5. (转)maven镜像详解

    背景:一直以来,对maven镜像不是特别的了解,这里通过对网上资料的收集,做个详细的记录. 镜像介绍 如果仓库X可以提供仓库Y存储的所有内容,那么就可以认为X是Y的一个镜像.换句话说,任何一个可以从仓 ...

  6. 【DP/数学】【CF1061C】 Multiplicity

    Description 给定一个序列 \(a\),求有多少非空序列 \(b\) 满足 \(b\) 是 \(a\) 的子序列并且 \(\forall~k~\in~[1,len_b],~~k \mid b ...

  7. eclipse安装activiti5.18.0工作流插件 以及安装过程中activiti插件出现的问题及解决

    转: eclipse安装activiti5.18.0工作流插件 以及安装过程中activiti插件出现的问题及解决 2017年05月04日 18:44:21 JJ_nan 阅读数:2773   版权声 ...

  8. Java利用poi生成word(包含插入图片,动态表格,行合并)

    转(小改): Java利用poi生成word(包含插入图片,动态表格,行合并) 2018年12月20日 09:06:51 wjw_11093010 阅读数:70 Java利用poi生成word(包含插 ...

  9. scrum敏捷开发重点介绍

    参考: http://www.scrumcn.com/agile/scrum-knowledge-library/scrum.html https://www.zhihu.com/question/3 ...

  10. Python之路,Day2 - Python基础,列表,循环

    1.列表练习name0 = 'wuchao'name1 = 'jinxin'name2 = 'xiaohu'name3 = 'sanpang'name4 = 'ligang' names = &quo ...