使用 Scrapy Shell 手动构建 Response 对象
使用实验环境右侧工具栏中的剪切板将上面的 HTML 文本复制粘贴到实验环境中,注意剪切板只支持二进制文本的复制,中文会变成问号,粘贴到文件里面之后需要自己手动修改一下。 进入 scrapy shell ,由于没有下载链接,我们将 example.html 文档手动构建成 response 对象,然后就可以在 response 对象上直接使用 xpath 方法了:
>>> from scrapy.http import HtmlResponse
# body 的数据类型是字符串
>>> body = open('example.html').read()
# HtmlResponse 接收两个参数,url 为自定义的网址
# body 参数的值应为字节码,所以需要使用字符串的 encode 方法进行编码
>>> response = HtmlResponse(url='http://example.com', body=body.encode('utf-8'))
哪一步是在手动构建成 response 对象啊
在这个代码片段中,手动构建 response 对象的步骤是:
- 从
scrapy.http模块导入HtmlResponse类。 - 使用
open函数读取example.html文件的内容,并将内容保存到变量body中。 - 使用
response = HtmlResponse(url='http://example.com', body=body.encode('utf-8'))创建一个HtmlResponse对象,url参数为自定义的网址,body参数需要对字符串进行编码转换为字节码。
原文地址: https://www.cveoy.top/t/topic/ffDH 著作权归作者所有。请勿转载和采集!