鱼C论坛

 找回密码
 立即注册
查看: 984|回复: 14

[已解决]写爬虫的过程中遭遇神秘语法错误???迷惑

[复制链接]
发表于 2019-6-18 16:39:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. def parse(text):
  2. #初始化 标准化
  3.     html = etree.HTML(text)
  4. #提取我们想要的信息 需要些xpath语法
  5. #names是列表,xpath反悔的一定是列表
  6.     names = html.xpath("//div[@class = "movie-item-info"]/p[@class = "name"]/a/@title")

  7.     print(names)
  8.    
  9. text = get_one_page(20)

  10. parse(text)
复制代码




如图所示  movie 红色字体为语法错误!!!不解,下面是解析目标代码:
  <div class="movie-item-info">
        <p class="name"><a href="/films/733" title="拯救大兵瑞恩" data-act="boarditem-click" data-val="{movieId:733}">拯救大兵瑞恩</a></p>
最佳答案
2019-6-18 16:44:57
  1. ('//div[@class = "movie-item-info"]/p[@class = "name"]/a/@title')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-6-18 16:40:10 | 显示全部楼层
红色字体?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-18 16:42:09 | 显示全部楼层

恩 报错是语法错误 就是movie-item-info那一串
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-18 16:43:25 | 显示全部楼层

我想会不会是引号的问题,但是教程视频里的软件颜色又和我不一样,难道单双引号功能有区别吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-18 16:44:24 | 显示全部楼层
对,我也觉得,外边用单引号试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-18 16:44:57 | 显示全部楼层    本楼为最佳答案   
  1. ('//div[@class = "movie-item-info"]/p[@class = "name"]/a/@title')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-18 16:46:05 | 显示全部楼层
Raylyn 发表于 2019-6-18 16:43
我想会不会是引号的问题,但是教程视频里的软件颜色又和我不一样,难道单双引号功能有区别吗?

单双引号都可以用来标识字符串,但是里边用了双引号外边再用就会出现解析问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-18 16:49:02 | 显示全部楼层
下面是我的源代码,大佬可以跑一下看看下具体报错情况!!!困惑了半个小时,希望早日节约,膜拜~~~~


  1. from lxml import etree

  2. def get_one_page(n):
  3. #字符串的格式化
  4.     url = "https://maoyan.com/board/4?offset={}".format(n)

  5.     header = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}

  6.     r = requests.get(url,headers=header)

  7.     #告诉服务器,我们是浏览器.

  8.     #输出 200 http 状态码
  9.     print(r)

  10.     #打印文本
  11.     print(r.text)

  12.     return r.text

  13. date = get_one_page(20)

  14. def parse(text):
  15. #初始化 标准化
  16.     html = etree.HTML(text)
  17. #提取我们想要的信息 需要些xpath语法
  18. #names是列表,xpath反悔的一定是列表
  19.     names = html.xpath("//div[@class = "movie-item-info"]/p[@class = "name"]/a/@title")

  20.     print(names)
  21.    
  22. text = get_one_page(20)

  23. parse(text)





复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-18 16:50:28 | 显示全部楼层
newu 发表于 2019-6-18 16:46
单双引号都可以用来标识字符串,但是里边用了双引号外边再用就会出现解析问题

请问大佬怎样打出单引号???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-18 16:51:33 From FishC Mobile | 显示全部楼层
双引号不能套双引号,改双套单
假设再不够用,就③套②在套①
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-6-18 16:52:35 | 显示全部楼层
wp231957 发表于 2019-6-18 16:51
双引号不能套双引号,改双套单
假设再不够用,就③套②在套①

谢谢 问题已经解决了!!膜拜~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-18 16:52:59 From FishC Mobile | 显示全部楼层
Raylyn 发表于 2019-6-18 16:50
请问大佬怎样打出单引号???

晕,单双引号不都在一起吗,都是在半角状态下按键
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-18 16:54:20 | 显示全部楼层
wp231957 发表于 2019-6-18 16:52
晕,单双引号不都在一起吗,都是在半角状态下按键

之前一直以为没区别 从来没用过单引号。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-18 16:57:04 From FishC Mobile | 显示全部楼层
Raylyn 发表于 2019-6-18 16:54
之前一直以为没区别 从来没用过单引号。。。。。

python在界定字符串时,并不区分引号
单也行,双也行,三也行,就是同级的不能套用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-18 18:31:47 | 显示全部楼层
wp231957 发表于 2019-6-18 16:57
python在界定字符串时,并不区分引号
单也行,双也行,三也行,就是同级的不能套用

知道了,谢谢帮助。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-20 05:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表