你怕是在梦里哦 发表于 2020-4-9 19:17:22

为什么爬豆瓣成这样了?

import requests
from lxml import etree
#将目标页面抓取下来
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400',
    'Referer': 'https://movie.douban.com/'}
url = 'https://movie.douban.com/'
response = requests.get(url,headers= headers)
text= response.text

#将抓取下来的数据进行一定规则的提取
html = etree.HTML(text)
ul = html.xpath("//ul[@class='lists']")
lis = ul.xpath("./li")
for li in lis:
    title = li.xpath('@data-title')
    actors = li.xpath('@data-actors')
    movies =[]
    movie = {
      'title':title,
      'actors':actors
}
    movies.append(movie)


出现
Traceback (most recent call last):
File "C:/Users/lenovo/PycharmProjects/SCRAPY/DAY3/豆瓣250/main.py", line 13, in <module>
    ul = html.xpath("//ul[@class='lists']")
IndexError: list index out of range

BngThea 发表于 2020-4-9 19:25:10

是不是xpath写错了,解析为空

wp231957 发表于 2020-4-9 19:53:33

你打印一下 response.text里面应该没有你要找的数据
页: [1]
查看完整版本: 为什么爬豆瓣成这样了?