Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scrapy更新响应HTML正文_Html_Xpath_Scrapy - Fatal编程技术网

Scrapy更新响应HTML正文

Scrapy更新响应HTML正文,html,xpath,scrapy,Html,Xpath,Scrapy,可以在HTML response.body的meta标记中写入我刚刚爬网的页面的URL吗?在将其保存到文件之前,我需要在response.body中添加下面的meta标记。我不需要提取HTML标记。我有HTML head标记/HTML/head的Xpath,我只需要将下面的元数据添加到其中 class MSDSpider(CrawlSpider): name = "msdtest" allowed_domains = ['workandincome.govt.nz'] start_urls =

可以在HTML response.body的meta标记中写入我刚刚爬网的页面的URL吗?在将其保存到文件之前,我需要在response.body中添加下面的meta标记。我不需要提取HTML标记。我有HTML head标记/HTML/head的Xpath,我只需要将下面的元数据添加到其中

class MSDSpider(CrawlSpider):
name = "msdtest"
allowed_domains = ['workandincome.govt.nz']
start_urls = ['https://www.workandincome.govt.nz/map/definitions/alternative-housing.html',]

rules = (
    Rule(LinkExtractor(allow=('.html')), callback='parse_item', follow=False),
)

def parse_item(self, response):

    hxs = Selector(response)


    page = response.url.split("/")[-1]
    filename = '%s' % page

        with open(filename, 'wb') as f:
            f.write(response.body)
            self.log('Saved file %s' % filename)


是否有关于Scrapy的API或文档提供了如何添加到response.body的示例?

我不这么认为,我认为您应该使用html解析器,如
lxml
bs4
将标记添加到响应并将其写入文件感谢我找到了解决方法。我只是用另一个实体替换了响应体。比如:body=response.body new\u body=body.replace(“”,%response.url)page=response.url.split(“/”[-1]文件名='%s'%page',打开(文件名,'wb')为f:f.write(new\u body)self.log('保存的文件%s'%filename'),我不这么认为,我认为您应该使用html解析器,如
lxml
bs4
将标记添加到响应并将其写入文件感谢我找到了一个解决方法。我只是用另一个实体替换了响应体。类似于:body=response.body new\u body=body.replace(“”、%response.url)page=response.url.split(“/”[-1]文件名='%s'%page',打开(文件名,'wb')为f:f.write(new\u body)self.log('保存的文件%s'%filename)