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

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就是根节点 .是当前节点 //是取当前节点的任意内容

深刻认识科技伦理治理作者刘永谋(中国人民大学哲学院教授)从一定程度上说,当代科技的发展方向以及人类面对新科技社会冲击所采取的应对策略,决定人类的未来社会的发展和国家的命运。因此,科技伦理治理是关乎全局藏在搜狐财报里的张朝阳节奏作者肖卓相当一段时间里,互联网世界的聚光灯都打给了巨头和独角兽,看客们也对各种大战和资本硝烟津津乐道。关于搜狐,除了把搜狗卖给腾讯,外界谈论的常常是掌门人张朝阳,他的言论,他的物理马斯克盛赞微信它什么都能做到,没有垃圾信息Tech星球5月18日消息,当地时间5月16日,马斯克在一峰会上表示,如果你在中国,基本可以生活在微信里,它什么都能做到,它有点像推特加贝宝,再加一大堆其他东西,这些产品融为一体,业绩爆雷股价暴跌后,Netflix裁员150人,并准备进军直播领域5月18日消息,流媒体视频巨头奈飞(Netflix)在发布了第一季度业绩后,决定裁员150人,理由是营收增长放缓。据悉,此次裁员包括至少26名为其粉丝网站Tudum工作的员工,该网中国芯片受阻严重,俄罗斯为什么不担心芯片和光刻机的问题?21世纪的到来所有的经济都离不开技术的支撑人类更是从狩猎时代到石器青铜时代,再从农业社会到工业文明,直到现在彻底地进入信息化时代。大家应该都知道掌握着技术就等于经济和在世界的说话权中国终于逆袭成功,5大科技领先全球,西方人感慨真是比不过国产盾构机随着中国在盾构机特高压输电技术高速铁路技术维生素C生产技术以及5G通信技术这五大科技领先全球之后,中国这一次终于逆袭成功,不用再继续看外国人的脸色了,而对于中国现今在以上全新荣耀MagicBook14搭载OSTurbo技术,开启荣耀笔记本新篇章2022年5月16日,全新荣耀MagicBook14正式发布,作为荣耀MagicOSforWindows业务技术架构体系下的第一款笔记本产品,其首发搭载的OSTurbo技术以出色的只需要799元,华为P50Pro变身5G手机,重量厚度增加不支持5G网络或许是华为P50系列最大的短板,即便是华为掌握了大量5G专利,但是在元器件供应受阻的情况下,华为手机依旧难以支持5G网络当然,华为P50系列的芯片均支持5G网络,只是realme新品官宣首款骁龙8Gen1Plus平板来了上周的时候,realme官方账号之一真我平板正式在网络上出现,今日,这款realme的首款平板产品终于正式官宣。据realme副总裁中国区总裁全球营销总裁徐起带来的消息称平板新势力曝小米新机大概率无缘首发黑科技,小米12低至百元刷新发烧史5月16日上午,高通中国官方官方微博公布了2022骁龙之夜,届时将介绍骁龙移动平台新品,展示新产品新体验新合作,与骁龙合作朋友们我们的分享热爱科技,探索未来的移动体验。而且基本上可晚点独家丨十余家新公司成立,ArmCPU创业潮显现多个创业团队来自阿里平头哥。文丨马慧编辑丨程曼祺一个多年被巨头把持的行业,现在出现了十几家中国创业公司。这听起来是一个激动人心的故事。过去20多年里,中国互联网蓬勃发展,但却鲜有国
金服变科技,它还是马云眼里的那个少年吗?6月22日,来自36氪的消息称经国家市场监督管理总局核准,支付宝的母公司蚂蚁金服的全称已从浙江蚂蚁小微金融服务股份有限公司变更为蚂蚁科技集团股份有限公司。从蚂蚁金服到蚂蚁科技,标志华为荣耀区别在哪荣耀为年轻人打造科技潮流确实好看,想跟明哥做朋友。荣耀30系列发布会一结束,就有用户在百度贴吧里馋了。荣耀30系列被媒体称为潮美旗舰,荣耀30系列的荣耀30,荣耀30Pro和荣耀Pro30三款手机发售一分用影像定格时间华为P40系列用科技留住生活中的故事华为P40系列在国内发布之后,超感知影像艺术共创活动随之也正式启动,华为P40系列将携手专业电影人权威电影机构知名艺术家以及高校及青年学生创作者,一同探索影像与艺术的全新表达,开创天气越来越干燥,这款补水神器浑身都是黑科技进入9月,北方大部分地区已经感觉到干燥和凉意,相关的医学资料表明,当空气相对湿度低于30时,人体的皮肤就会随之变得干燥粗糙,此外,嘴唇干裂出血,口舌干燥,手足表面开裂等情况也时有发华米科技AI创新大会解锁新技能,小米手环5有望搭载,这次有看头近日,华米科技再次发布了AI创新大会的倒计时海报,继续曝光6月15日AI创新大会的信息,本次AI创新大会将是华米科技对外秀肌肉的一次展现,有望在运动领域实现新突破。在本次大会上,华校宝在线CEO张以弛与信息化相比,教育行业更需要数字化上半年疫情期,最受大众瞩目的行业非教育行业莫属。疫情如同一双魔法之手,一夜之间将教育行业的数字化进程推升到前所未有的广度和深度。从公办学校民办学校到培训机构,从小学中学到大学,从老高清摄像头WiFi模块有什么作用SKYLABWiFi模块在无线视频传输方案中,WiFi模块主要用于无线传输。WiFi模块是网络摄像头中的核心部件,随着物联网智能家居,智慧安防对高清视频需求的增加,无线视频传输市场对于高清摄像头WiFi模橡胶弹簧的作用以及性能特点橡胶弹簧是一种高分子的弹性弹簧,它的减振效果非常好,共振领域小,具有使用寿命长成本低耐寒性好气密性优良等优点。另外,橡胶弹簧还具有防水性电绝缘性,是各个工业领域减振产品的选择。橡胶可怡骨传导技术在帽子上的应用通常观念认为耳机塞住耳朵的东西,而可怡骨传导产品宣传不塞住耳朵就能听到声音。是的,可怡骨传导技术,不用塞住耳朵,耳机里的声音通过骨头传递给听觉神经,而周围的说话声则一如既往地通过鼓秦始皇穿越街头推广反诈APP未下载会被士兵拖走近日,陕西西安,一段秦始皇在兵马俑广场宣传国家反诈中心APP的视频走红。由演员扮演的秦始皇随机问路人是否下载反诈APP,未下载者会被士兵拖走。视频策划方临潼区融媒体相关负责人称,希带AGPS功能的GPS模块有哪些SKYLABGPS模块AGPS,AssistedGlobalPositioningSystem,即辅助全球卫星定位系统,指的是一种GPS的运行方式。AGPS在系统中还有一个辅助服务器。在AGPS网络中,