范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Python爬虫笔记4

  目录
  lxml模块和xpth语法学习  正则表达式
  用法: re模块 match 方法  import re  # 使用match方法进行匹配操作 res = re.match("hello", "hello world")  #如果上面匹配到数据的话,可以使用group方法来提取数据 print(res) print(res.group())
  除了使用match 方法,还有search方法 findall方法,sub方法 ,compile方法,用处不相同,先不举例了  匹配单个字符
  .
  匹配任意一个字符(除了换行符‘ ’) 如果匹配‘ . ’则需要用转义字符.来表示
  [ ]
  匹配[ ]中列举的字符,[a-zA-Z0-9],[a-zA-Z]表示所有字母和数字
  d
  匹配数字0-9
  D
  匹配非数字,即不是数字的其他任何值
  s
  匹配空白,即空格或tab键
  S
  匹配非空白
  w
  匹配单词字符,即0-9,a-z,A-Z,_,中文字符等
  W
  匹配非单词字符  匹配多个字符
  *
  匹配前一个字符出现0次或者无限次,即可有可无
  +
  匹配前一个字符出现1次或者无限次,即至少有1次
  ?
  匹配前一个字符出现1次或者0次,即要么有1次,要么没有
  {m}
  匹配前一个字符出现m次
  {m,}
  匹配前一个字符至少出现m次
  {m,n}
  匹配前一个字符出现从m到n  匹配分组
  |
  匹配左右任意一个表达式
  (ab)
  将括号中字符作为一个分组
  um
  引用分组num匹配到的字符串
  (?P)
  分组起别名
  (?P=name)
  引用别名为name分组匹配到的字符串
  例子很多,不码了
  熟悉使用这些规则可以到这个网站: 编程胶囊  电影TOP100正则爬取import re import requests  #定义一个方法获取html def get_html(url):     headers={         "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36"     }     response = requests.get(url,headers=headers)     response.encoding="utf-8" #记得编码一下 否则乱码     return response.text   def get_movie(html):     #正则表达式提取 排名 名字 演员 时间     pattern = re.compile(r"
.*?board-index.*?>(d+)" r".*?title="(.*?)"" r".*?star(.*?)" r".*?releasetime(.*?).*?" r"
", re.S) #re.S用来匹配掉HTML代码中一些空格和换行符 r= re.findall(pattern,html) #findall方法匹配一下 print(r) def main(): url = "https://www.maoyan.com/board/4?timeStamp=1640940899645&sVersion=1&requestCode=f981fcd1f588f0956b1e65a57b93a4e0zdnzj&webdriver=false&index=6&signKey=c8cfdab2d87af2ba1ee53b09aa767f4f&channelId=40011" html = get_html(url) get_movie(html) if __name__ == "__main__": main()   运行出来是空列表 ,猫眼不让爬取了   用正则感觉好难   每个电影的信息都在一个的标签里面,所以开头结尾写上这个标签   前后有一些标签符号可以用 .*? 来匹配掉, .*用来匹配所有的字符,?把贪婪状态改为非贪婪   d+ 表示排名数字,结尾   后面也是同样方法   表示不好实操,难理解 jsonpath的使用   安装jsonpath,一般直接pip install jsonpath 就行,我的依旧不行   各种问题又来了,写了一下自己的解决思路:解决办法 jsonpath 语法(一般只用 $ 和 . 和 ..)   JSONPATH   说明   $   文档根元素   @   当前元素   .或[]   匹配下级元素   ··   递归匹配所有子元素   *   通配符,匹配下级元素 import jsonpath data = {"key1": {"key2": {"key3": {"key4": {"key5": {"key6": "python"}}}}}} #用字典的key值 一个个的去取 result = data["key1"]["key2"]["key3"]["key4"]["key5"]["key6"] print(result) #用jsonpath #第一个参数放提取的数据data,第二个参数写jsonpath的语法 # $表示根节点 .表示从根节点开始的第一个值 print(jsonpath.jsonpath(data,"$.key1")) #如果要拿python,用.. $..key7 print(jsonpath.jsonpath(data,"$..key6"))   lxml模块和xpth语法学习xpath语法   常用符号   符号   说明   举例   /   表示从root开始查找,或者表示子节点   /html/body/p   //   表示从任意层级开始查找   //p   *   通配符,表示任意元素   @   获取属性   //img[@alt=‘xxx’]   .   当前层级或当前节点   …   上一层级或父节点   //p/…/img   网页中的信息如下   我们想要得到Python, 看HTML代码   XPath Helper 插件输入 //p[@class="main-content J-content"]/dl/dd/h1   一级一级输入即能得到想要的,上面就是要学习的xpath语法   xpath语法的妙用   我们上网 "借鉴" 作文的时候,某些网站会禁止穷人复制,我们可以用xpath来 " 学习 "一下   直接在网页 按住shift键,XPath Helper 会自动生成对应的语法 和 内容   XPath Helper 真的是非常地人性化啊,哈哈哈哈 lxml模块的使用   安装lxml又给自己干懵逼了,捣鼓两三个小时,解决了自己的问题   写了个解决方法   lxml是 一个 HTML/XML 的解析器,主要的功能是如何解析和提取 HTML/XML 数   据   lxml 模块 实现了xpath与python爬虫的交互 from lxml import etree text = """
  • 1
  • 2
  • 3
  • 4
  • 5
""" # 可以把text里面的内容生成一个HTML对象,相当于我们在网上拿到的HTML代码 html = etree.HTML(text) # xpath()语法,获取上面a标签的内容 用text() html_list = html.xpath("//a/text()") print(html_list) # 获取href属性后面的链接 ,获取属性用@ href_list = html.xpath("//a/@href") print(href_list) # 以键值对的形式输出 # 先定义一个空字典 data_dict = {} for key in href_list: index = href_list.index(key) #用index方法获取key的下标 data_dict[key] =html_list[index] print(data_dict)   因为第一个a标签没有href属性,导致kry:value值没有一一对应上   这个问题的本质就是因为href_list这个列表少一个,少一个的原因是在这个   xpath语句里面直接取了href ‘’href_list = html.xpath("//a/@href")‘’   换个思路,不直接取herf属性,取a标签,通过a标签取键值对 #取a标签 a_list = html.xpath("//a") print(a_list) #写一个for循环,直接通过a来调用xpath方法 for a in a_list: print(a.xpath(".//text()"), a.xpath(".//@href")) #此时a就是根节点 .是当前节点 //是取当前节点的任意内容

12分大败,郭士强赛后扭头就走!广州队努力白费,季后赛真走远了CBA第3阶段比赛正式开始了,作为联赛第1的浙江队,客场挑战广州队!本场比赛前,浙江以24胜4负排名联赛第1,领先第2的辽宁队1个胜场,在常规赛还剩下十几轮的情况下,他们很有机会占探索新路!郑智卷发亮相国足首训,黄博文前往足校挑选广州队新援2023赛季中超联赛结束了准入报名时间,球迷对于广州队一声不吭表示难以理解。万万没想到的就是,教练组成员已经兵分两路,执行球队全新的任务。扬科维奇首场国足训练曝光,二十多位国脚出现新一批国家企业技术中心认定名单出炉!这些广州企业入选近日,国家发展改革委等部门印发第29批新认定及全部国家企业技术中心名单。在第29批新认定名单中,广州达安基因股份有限公司广州市昊志机电股份有限公司广东芬尼克兹节能设备有限公司等三家茼蒿是长寿菜,一吃通便,二吃养肝,三吃护眼,中老年要常吃导语春天,吃荠菜韭菜不如吃它,养肝明目,润肺清肠,中老年人要多吃!春天,是一个美丽又舒适的季节!每到周末,我和老公都会带着孩子回趟老家。一是为了远离城市的喧嚣,回家感受一下乡村气息三月的马龙,樱花与你有约樱花盛开不负春色春有约花不误年年岁岁不相负马龙又到樱花烂漫时走进马龙樱花谷,连片绽放的樱花粉粉嫩嫩,遍布山间,美不胜收。赏花的游客们或驻足欣赏,或拍照打卡,或漫步小路,或静坐花间聊美丽蓝山樱花绽放春意浓花团锦簇似云霞红网时刻新闻3月2日讯(通讯员赵彬盘俊杰)阳春三月,春暖花开。连日来,蓝山县各地樱花相继绽放,春意盎然,生机勃勃,人们纷纷走出家门踏青赏花拍照留影,乐享美好春光。在湘江源瑶族乡坪源露营热带动乡村游,阳西积极培育新业态露营作为一种旅游新业态,近年来深受年轻人的喜爱。日前,阳西县新添一处户外营地,在为阳西乡村振兴植入新业态的同时,也带动了当地就业和乡村旅游的发展。户外营地成为阳西网红打卡点。据了解想要肺部健康这几种东西需要少吃!肺主要的功能是,让人体进行呼吸作用并且需要不断呼吸新鲜空气,进行气体的交换才可以保障我们的生活状态。但是保障肺部健康这几种东西需要少吃!第一种烧鸭烤鸡因为大量食用这种有大量油脂的食春季湿疹高发,都是干出来的春天到了,气候反复无常,很多小朋友都特别容易患上湿疹,尤其是夜里,瘙痒难忍。有许多家长反应,宝宝整夜地挠,根本睡不好,更别说小月份的宝宝了,不会说只能哭,苦了孩子也苦了家长。这个时每日一图湖南五福村的油菜花,带给你不一样的美图稀里马哈图稀里马哈图稀里马哈图稀里马哈图稀里马哈图稀里马哈图稀里马哈摄影稀里马哈图说长沙县江背乡五福村生态环境秀美,油菜花盛开,百里田野飘芳香。提示每日一图湖南由红网湖湘文化论坛4月活动策划热点与方向,20春季踏青新思路(文章来自黑猫会公众号)春天的脚步已经走近大家都逐渐开始外出游玩踏青这可是各大品牌做宣传的大好时机接下来的4月涵盖了愚人节清明节读书日踏青这些节点都是老少皆宜啊!今天猫妹妹就带你们
徐起realme真我GTNeo3将成为新一代百万爆款3月23日消息,今天realme副总裁中国区总裁全球营销总裁徐起发微博称以潮玩设计越级性能为主打的realme真我GTNeo系列一年时间用户突破200万!相信realme真我GTN一文读懂太阳能领域AM0AM1。5AM1。5G的区别太阳表面的辐照度(单位面积内的辐射能量)为63。2MWm2,太阳光穿越太空地球大气层到达地球表面的过程中,辐照度会不断减小。人们为了量化太阳辐射的衰减程度,常采用大气质量(AirMNature大脑扫描研究不靠谱作者徐锐一直以来,人们使用磁共振成像(MRI)设备进行脑部扫描,研究大脑结构或活动模式与复杂性状之间的联系。但多年来,人们一直怀疑上述研究中的一些引人注目的成果并不可信。而现在,这SA机器学习助力探索南极陨石采集地地球表面采集到的陨石,为深入了解星云和行星演化过程提供了重要信息。南极陨石在这方面尤为重要,因为它们的天然赋存状态更适于科学研究。南极洲亦是回收陨石最多的地区,这些地外岩石集中在陨净利仅增1!4万亿腾讯年报出炉,总裁刘炽平互联网正遭遇结构性挑战和改变,腾讯也会主动调整互联网巨头腾讯23日晚间公布了2021年全年业绩和2021年第四季度业绩。数据显示,腾讯年度收入首次突破5000亿元。国际财务报告准则下,公司权益持有人应占盈利2248。22亿元,ios15。4升级后续航崩溃!还有必要升级吗?最近升级了最新的ios15。4版本后的很多用户都在反应同一个问题升级后续航变差的不是一点半点!虽然在更新后可以使用了口罩解锁,提高了日常使用手机解锁的方便性,但是对于绝大多数用户来1999属实无情!realme真我GTNeo3,带你重新定义光速秒充不得不说,最近这段时间的手机市场,确实是十分热闹的。基本每家手机厂商,都在这段时间里,发布了自己的最新机型。但说句实话,就目前发布在手机市场当中的这些新机,大部分都还是少了点看头。四款中高端空气净化器对比华为智选352舒乐氏,谁会胜出?大家有没有发现,最近几年大家买空气净化器不局限在以去雾霾为主。在社会发展之下,我们对生活要求水平不断提高,对空净也是如此,要会去甲quanxinguan病读动物毛发等,现如今的空气华为MateX3确定,或将于4月份发布,折叠技术再突破,依旧没5G华为的研发实力这几年一直都是有目共睹的,站稳了国产高端机市场老大的位置,在全球市场,甚至于威胁到了苹果三星的地位,多项核心技术的研发取得了重大突破,这大概才是华为背后承受多轮制裁的自驾去青海冷湖镇石油小镇遗址,玩的就是一段激情燃烧的岁月它是荒凉的,是地球上最孤独的城市,也是地球上最孤独的城市。方圆300公里,无人居住,隐藏着一座石油小镇的废墟。当1219钻井队钻出石油时,有4万到5万人来到镇上。那时,它被称为西北门头沟春季踏青赏花季开启,7条线路可赏花3月24日,门头沟区文化和旅游局以花为主题,以生态民宿生态文旅生态农业为主线,推出7条漫步门头沟,花开山水间踏青赏花亲子路线。市民可以去京西古道和谷山村体验古道和农耕文化,品尝特色