错与对并不是绝对的

寒假学习报告10

今天继续研究了爬虫

遇到了一些问题,各种查阅资料才得以解决。

response.xpath.extract()爬取的值里面含有\r\n\t,
如何去掉呢?需要normalize-space()
比如:
response.xpath('//div[@class=""]/text()').extract()
使用normalize-space()后:
response.xpath('normalize-space(//div[@class=""]/text())').extract()

 

在xpath的外面还可以用
name = name.replace('\r', '').replace('\t', '').replace(' ', '')
name = name.replace('\n', '')
name = name.replace('\t', '')
name = name.replace(' ', '')
来去除\r\n\t空格


scrapy 爬虫爬到<div>标签里面包含<p>标签
我想爬取div标签中的所有的内容,但是里面有p标签,
直接response.xpath('//div[@class=""]/text()').extract()的话是没有<div>里的<p>中的内容的,
需要response.xpath('//div[@class=""]/descendant::text()').extract()

 

scrapy中parse函数向其他函数传参

def parse(self, response):
    yield scrapy.Request(url,callback=self.next,meta={'rname':'2'})
def next(self,response):
    print(response.meta['rname'])

 

 

然后又把上一个程序优化了一下

posted on 2020-02-10 21:52  错与对并不是绝对的  阅读(119)  评论(0编辑  收藏  举报

导航