解决Pycharm中使用scrapy框架时出现 from .items import Item 报错

将 from xx.items import xxItem 改为:

from ..items import xxItem

在一个package中,同级使用 . 在父级使用 ..

 

使用PyCharmScrapy框架进行豆瓣电影Top250的爬虫,并将其结果保存到Excel文件,可以按照以下步骤操作: 1. **安装依赖**: - 首先确保已经安装了PythonScrapy、requests和pandas库。如果还没有安装,可以在终端中运行以下命令: ``` pip install scrapy requests pandas openpyxl ``` 2. **创建Scrapy项目**: - 打开PyCharm,点击"Create New Project",选择"Scrapy"模板,给项目命名,然后完成创建。 3. **编写Spider**: - 在`spiders`目录下新建一个Python文件,比如` douban_spider.py`。在这个文件里,定义Scrapy Spider: ```python import scrapy from scrapy.http import Request class DoubanTop250Spider(scrapy.Spider): name = 'douban_top250' start_urls = ['https://movie.douban.com/top250'] def parse(self, response): for movie in response.css('div.item'): title = movie.css('span.title a::text').get() rating = movie.css('.rating_num strong::text').get() yield { 'title': title, 'rating': rating, } def __init__(self): super().__init__() # 如果你想每页都抓取,保留此行;否则,可以删除,仅抓取第一页 self.start_urls.append(response.urljoin('https://movie.douban.com/top250?start=25')) ``` 4. **设置下载中间件处理反爬策略**: - 在`settings.py`中添加对`RobotsTxtMiddleware`的支持,以及配置下载延迟以避免过于频繁地请求服务器: ```python ROBOTSTXT_OBEY = True DOWNLOAD_DELAY = 2 # 设置每次请求之间的延迟间 ``` 5. **运行爬虫并保存数据**: - 在PyCharmScrapy插件中,选择刚刚创建的项目,然后运行`scrapy crawl douban_top250`。爬虫会开始抓取数据,完成后,数据会被存储在`items`目录下的`.json`文件中。 6. **读取数据并转存为Excel**: - 使用pandas读取爬取的数据,然后写入Excel: ```python import json import pandas as pd # 加载json数据 with open('douban_top250.json', 'r', encoding='utf-8') as f: data = json.load(f) df = pd.DataFrame(data) df.to_excel('douban_movie_data.xlsx', index=False) ```
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值