|
10鱼币
各位大神好,目前只爬取了一页,可是遇到了问题:
代码如下:
import requests
from bs4 import BeautifulSoup
url='https://movie.douban.com/top250'
headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36'}
res=requests.get(url,headers=headers)
print(res.status_code)
bs_data=BeautifulSoup(res.text,'html.parser')
list_all=[]
items=bs_data.find_all('li')
for item in items:
num=item.find('em',class_='').text
name=item.find('span',class_='title').text
rate=item.find('span',class_='rating_num').text
rec=item.find('span',class_='inq').text
url=item.find('a')['href']
print(num + '.' + name + '——' + rec + '\n' + '推荐语:' + rate +'\n' + url)
使用pycharm反馈如下:
Traceback (most recent call last):
File "/Users/sunyong/Library/Application Support/JetBrains/PyCharmCE2020.2/scratches/scratch.py", line 12, in <module>
num=item.find('em',class_="").text
AttributeError: 'NoneType' object has no attribute 'text'
请问各位大神,为什么会提示没有text属性呢?谢谢
在 items = bs_data.find_all("li") 这一步中,找到的li并不全是电影,事实上在源码中可以看到<div class="global-nav-items">标签下也有一些li,也就是页面顶部的豆瓣|读书|电影|音乐。你可以用find定位得更详细一些
|
最佳答案
查看完整内容
在 items = bs_data.find_all("li") 这一步中,找到的li并不全是电影,事实上在源码中可以看到标签下也有一些li,也就是页面顶部的豆瓣|读书|电影|音乐。你可以用find定位得更详细一些
|