|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
在尝试使用scrapy做爬虫时候报错NotImplementedError: MySpider.parse callback is not defined
下面为代码:items的
import scrapy
class BItem(scrapy.Item):
# define the fields for your item here like:
name = scrapy.Field()#视频名称
url = scrapy.Field()#视频对应URL
pts = scrapy.Field()#视频对应综合得分
爬虫部分代码为:
import scrapy
from bs4 import BeautifulSoup
import sys
sys.path.append(r'C:\Users\49461\Desktop\bilibili模型\bilibili\bili')
from items import BItem
class MySpider(scrapy.Spider):
name ='bspider'
allowed_domains = ['bilibili.com']
start_urls =['https://www.bilibili.com/ranking/all/0/0/3']
def url_parse(self,response):
pass
def rang_parse(self,response):
html = response.text
soup = BeautifulSoup(html,features = 'lxml')
div_b_page_body = soup.find('div',class_='b-page-body')
div_rank_list = div_b_page_body.find('div',class_='rank-list-wrap')
ul = div_rank_list.find('ul')
li = ul.find_all('li')
for range_massage in li:
if range_massage is not None:
range_info = BItem()
range_info['name'] = range_massage.find('a',class_='title').get_text()
range_info['url'] = range_massage.find('a',class_='title').get('href')
range_info['pts'] = range_massage.find('div',class_='pts').get_text()
print(range_info)
yield range_info
在网上搜索的解答都说是继承的父类有问题应该继承自CrawlSpider但是我修改后编译报错为
Traceback (most recent call last):
File "C:\Users\49461\Desktop\bilibili模型\bilibili\bili\spiders\myspider.py", line 6, in <module>
class MySpider(CrawlSpider):
NameError: name 'CrawlSpider' is not defined
请问各位,这个错误是怎么回事,应该怎么解决
你还没有导入CrawlSpider的方法
- from scrapy.spiders import CrawlSpider
复制代码
|
|