在抓取这个page的过程中,下面是我如何得到响应的
In [14]: headers
Out[14]:
{'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Host': 'www.lieferando.de',
'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:86.0) Gecko/20100101 Firefox/86.0',
'Upgrade-Insecure-Requests': 1}
In [15]: url
Out[15]: 'https://www.lieferando.de/speisekarte/dreamburger-pizza'
In [16]: fetch(scrapy.Request(url,headers=headers))
2021-03-10 16:19:15 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.lieferando.de/speisekarte/dreamburger-pizza> (referer: None)
但问题是,每当我试图提取电子邮件地址时,我都没有得到想要的电子邮件字符串。你可以通过下面的代码了解我的观点
In [18]: email = ''.join(response.css('div:contains("E-Mail")::text').getall()).strip().split('E-Mail')[-1].split(' ')[-1]
In [19]: email
Out[19]: 'info@lieferando.de'
我想要一封类似于info@lieferando.de
的电子邮件,而name
字段也会发生同样的情况,即
In [20]: jsn = json.loads(response.css('script[type="application/ld+json"]::text').get())
In [21]: jsn.get('name')
Out[21]: 'Dreamburger & Pizza'
我怎样才能去掉那些特殊的字符名
您正在标准库中查找^{} ,例如
相关问题 更多 >
编程相关推荐