youdaun 2022-10-18 15:54 采纳率: 100%
浏览 14
已结题

练习正则表达式和re模块的时候,发现从源字符上复制的都匹配不了,是啥原因啊

练习正则表达式和re模块的时候,发现从源字符上复制的都匹配不了,是啥原因啊
import re
import requests

url = "https://movie.douban.com/j/chart/top_list?type=11&interval_id=100%3A90&action=&start=0&limit=1"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36"
}
# 拿到第二次请求的源代码
reap = requests.get(url=url,headers=headers)

page_countent = reap.text  #页面源代码
print(page_countent)
obj = re.compile(r'"id":"1292052","types":["犯罪","剧情"],"regions":["美国"],"title":"肖申克的救赎"',re.S)

it = obj.finditer(page_countent)
for i in it:
    print(i.group())

[{"rating":["9.7","50"],"rank":1,"cover_url":"https://img2.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p480747492.jpg","is_playable":true,"id":"1292052","types":["犯罪","剧情"],"regions":["美国"],"title":"肖申克的救赎","url":"https:\/\/movie.douban.com\/subject\/1292052\/","release_date":"1994-09-10","actor_count":25,"vote_count":2715876,"score":"9.7","actors":["蒂姆·罗宾斯","摩根·弗里曼","鲍勃·冈顿","威廉姆·赛德勒","克兰西·布朗","吉尔·贝罗斯","马克·罗斯顿","詹姆斯·惠特摩","杰弗里·德曼","拉里·布兰登伯格","尼尔·吉恩托利","布赖恩·利比","大卫·普罗瓦尔","约瑟夫·劳格诺","祖德·塞克利拉","保罗·麦克兰尼","芮妮·布莱恩","阿方索·弗里曼","V·J·福斯特","弗兰克·梅德拉诺","马克·迈尔斯","尼尔·萨默斯","耐德·巴拉米","布赖恩·戴拉特","唐·麦克马纳斯"],"is_watched":false}]
无其他输出

从源代码上直接复制过去,为啥还匹配不了啊
  • 写回答

1条回答 默认 最新

  • honestman_ 2022-10-18 16:01
    关注

    []在正则中是有特殊含义的,你要匹配[]的话,要加转义符号。

    obj = re.compile(r'"id":"1292052","types":\["犯罪","剧情"\],"regions":\["美国"\],"title":"肖申克的救赎"', re.S)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月27日
  • 已采纳回答 10月19日
  • 创建了问题 10月18日

悬赏问题

  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持