鱼C论坛

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

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

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

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

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

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

    print(names)
    
text = get_one_page(20)

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
('//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 | 显示全部楼层    本楼为最佳答案   
('//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 | 显示全部楼层
下面是我的源代码,大佬可以跑一下看看下具体报错情况!!!困惑了半个小时,希望早日节约,膜拜~~~~

from lxml import etree

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

    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"}

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

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

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

    #打印文本
    print(r.text)

    return r.text

date = get_one_page(20)

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

    print(names)
    
text = get_one_page(20)

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-6-11 21:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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