python - 缺少 1 个必需的位置参数:“响应”scrapy
问题描述
刚接触scrapy只是想弄清楚我是否可以用它来抓取我正在阅读的网络连续剧,这样我就可以在去学校的路上离线阅读它,但我不知道如何解决这个错误我一直保留得到。
类型错误:parse_wordpress() 缺少 1 个必需的位置参数:“响应”
我认为这意味着该网站没有正确对应,但我想不出解决问题的方法。
import scrapy
from scrapy.spiders import CrawlSpider, Rule
from scrapy.selector import HtmlXPathSelector
from scrapy.linkextractors import LinkExtractor
class BlogrollSpider(CrawlSpider):
name = 'BLOG ARCHIVER'
allowed_domains = ['blogroll.com', 'wordpress.com', 'blogspot.com']
start_urls = ['https://parahumans.wordpress.com/2011/06/11/1-1/']
rules = (
Rule(LinkExtractor(allow=(),
restrict_xpaths=('//p[@title="Next Chapter"]',)),
callback="parse_wordpress",
follow= True),
)
def parse_wordpress(self, response):
hxs = HtmlXPathSelector(response)
paragraphs = hxs.select("//p")
for paragraphs in paragraphs:
paragraph = paragraphs.select("a/text()").extract()
print (paragraph)
return item
blog1 = BlogrollSpider()
blog1.parse_wordpress()
print ("code is reaching here")
这是我要下载的网站/网络连续剧:' https://parahumans.wordpress.com/2011/06/11/1-1/ '
解决方案
你不应该直接调用你的 parse 函数。当 Scrapy 得到响应时,它会自动调用。
相反,请使用命令行 runner。例如,如果您有一个完整的项目:
scrapy crawl "BLOG ARCHIVER"
或者,如果您只有一个蜘蛛文件:
scrapy runspider my_spider.py
或者,编写自定义运行器脚本。
顺便说一句,我建议您阅读官方教程,因为它涵盖了如何运行蜘蛛。
推荐阅读
- eclipse - 如何在 Xtext (2.24) 悬停中添加图像?
- powerbi - 如何使用度量来确定表格视觉对象重复列出的条目的最早日期,同时保持所有视觉过滤器完好无损?
- node.js - ECS 任务错误
- flutter - 如果有底部导航栏,Flutter PageView 不显示内容
- python - 用户是否调整了 tkinter 窗口的大小
- php - Laravel 8 + MSSQL - ODBC 驱动程序使用我的 Eloquent 类名查询无效列
- javascript - Spring-flo:如何在每个节点上启用约束以在新 Angular 版本中设置 maxIncomingLinksNumber
- c# - 用于 SaaS 网站的基于 HTML 的工作流/旅程设计器组件
- mongodb - 如何在创建过程中忽略那些已经在集合中的实体,只在 MongoDb 中添加新实体
- python - Plotly:在 sunburst 中添加与父类成比例的平行特征