爬虫代码应该是对的,但是运行不出来 只有一行路径

想要爬取出我要的数据


import requests
import re
url="https://movie.douban.com/top250"
head={
    #UA,服务器对当前的网络设置进行检测
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0"
}
resp=requests.get(url,headers=head)#处理反爬
resp.encoding='utf-8'


obj = re.compile(r'<div class="item">.*?<span class="title">(?P<name>.*?)</span>'
               r'.*?<br>(?P<year>.*?)&nbsp;.*? <span class="rating_num"'
               r'property="v:average">(?P<pingfeng>.*?)</span>.*?'
               r'<span>(?P<num>.*?)人评价</span>',re.S)

result = obj.finditer(resp.text)
for item in result:
    dic=item.groupdict()
    dic['year'] = dic['year'].strip()
    print(dic)

评分正则有问题,少了空格

img

改下面就可以了

img

 
import requests
import re
url="https://movie.douban.com/top250"
head={
    #UA,服务器对当前的网络设置进行检测
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36"
}
resp=requests.get(url,headers=head)#处理反爬
resp.encoding='utf-8'
 
 
obj = re.compile(r'<div class="item">.*?<span class="title">(?P<name>.*?)</span>'
               r'.*?<br>(?P<year>.*?)&nbsp;.*?<span class="rating_num"'
               r' property="v:average">(?P<pingfeng>.*?)</span>.*?'
               r'<span>(?P<num>.*?)人评价</span>',re.S)
 
result = obj.finditer(resp.text)
for item in result:
    dic=item.groupdict()
    dic['year'] = dic['year'].strip()
    print(dic)

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632