盘点一个pyquery库选择器提取案例
回复“资源”即可获赠Python学习资料
今
日
鸡
汤
青山横北郭,白水绕东城。大家好,我是皮皮。
一、前言前几天在Python白银群有个叫【手中的流沙】的粉丝问了一道关于pyquery选择器提取的问题,如下图所示。
就像这样:
原网页的信息如下图所示:
实现过程这里【甯同学】给了一份代码,如下所示:
frompyqueryimportPyQueryaspqheaders={"Accept-Language":"zh-CN,zh;q=0.9","Cache-Control":"max-age=0","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/78.0.3904.108Safari/537.36"}html=pq(url="https://www.cditv.cn/list-3894-1.html",headers=headers)doc=pq(html)li=doc("div.style-type3>div:gt(0)>ul>li.item>ul>li.list-item").items()foriinli:info={"city":i.text().split("\n\n\n")}print(info)
代码运行之后,结果如下图所示:
确实一步到位了,很强!原来pq可以直接请求网页,确实也省事了。主要是那个css构造还是需要点时间和精力的。
这个地方也还可以使用xpath提取来实现,代码如下:
importrequestsfromlxmlimportetreeres=requests.get(url="https://www.cditv.cn/list-3894-1.html",headers=headers)res.encoding=res.apparent_encodinghtml=etree.HTML(res.text)li_lists=html.xpath("/html/body/div[1]/div[2]/div[2]/div[2]/ul/li")print(len(li_lists))forliinli_lists:info=li.xpath("./ul//li//text()")#shi=li.xpath("./ul//li/h4/text()")#qu=li.xpath("./ul//li/strong/text()")#jiedao=li.xpath("./ul//li/br/text()")print(info)
运行之后,结果如下图所示:
当然了,你还可以使用re正则表达式和bs4来提取,这个网页并不难,用来练手还是不错的。
三、总结大家好,我是皮皮。这篇文章主要盘点一个pyquery库选择器提取案例!如果你还有其他方法,也欢迎大家积极尝试,一起学习,记得分享给我哦。
最后感谢粉丝【手中的流沙】提问,感谢【甯同学】、【dcpeng】在运行过程中给出的思路和代码建议,感谢粉丝【月神】、【庄大】等人参与学习交流。
小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。
-------------------End-------------------
往期精彩文章推荐:
Python内置函数map和filter,傻傻分不清楚?
使用Python实现批量更改文件夹下图片的名称
Pandas处理csv表格的时候如何忽略某一列内容?
盘点一个正则表达式题目(惊艳写法)
欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Python学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行
相关阅读
-
世界热推荐:今晚7:00直播丨下一个突破...
今晚19:00,Cocos视频号直播马上点击【预约】啦↓↓↓在运营了三年... -
NFT周刊|Magic Eden宣布支持Polygon网...
Block-986在NFT这样的市场,每周都会有相当多项目起起伏伏。在过去... -
环球今亮点!头条观察 | DeFi的兴衰与...
在比特币得到机构关注之后,许多财务专家预测世界将因为加密货币的... -
重新审视合作,体育Crypto的可靠关系才能双赢
Block-987即使在体育Crypto领域,人们的目光仍然集中在FTX上。随着... -
简讯:前端单元测试,更进一步
前端测试@2022如果从2014年Jest的第一个版本发布开始计算,前端开发... -
焦点热讯:刘强东这波操作秀
近日,刘强东发布京东全员信,信中提到:自2023年1月1日起,逐步为...