提取文本直到Scrapy上的某些模式

时间:2017-01-16 04:28:04

标签: regex web-scraping scrapy scrapy-spider

我正在尝试使用Scrapy从网页中删除某些内容。

html元素如下所示。

'<p>\n                                    阪急宝塚線\xa0/\xa0石橋駅\xa0徒歩1分\n                                                                            (<a href="javascript:void(0);" style="cursor:pointer;" onclic
k=\'window.open("http://athome.ekiworld.net/?id=athome&amp;to=asso 302 ワンルーム&amp;to_near_station1=25824&amp;to_near_time1=1&amp;to_near_traffic1=徒歩 1 分");return false;\'>電車ルート案内</a>)\n
                                                </p>'

我的目标是只提取这部分“阪急宝冢线\ xa0 / \ xa0石桥駅\ xa0徒歩1分\ n”。 我尝试将.re()与响应一起使用,我认为^(.+?<a)可以正常工作,因为它成功解析了https://regex101.com/。但是在scrapy shell上,它不会解析任何东西(给我[])。

有人可以帮我吗? 我使用Python3 / scrapy1.3.0。

谢谢!

1 个答案:

答案 0 :(得分:1)

import re

text =  '''<p>\n                                    阪急宝塚線\xa0/\xa0石橋駅\xa0徒歩1分\n                                                                            (<a href="javascript:void(0);" style="cursor:pointer;" onclic
k=\'window.open("http://athome.ekiworld.net/?id=athome&amp;to=asso 302 ワンルーム&amp;to_near_station1=25824&amp;to_near_time1=1&amp;to_near_traffic1=徒歩 1 分");return false;\'>電車ルート案内</a>)\n
                                                </p>'''

re.search(r'\n.+?\n', text).group()

出:

'\n                                    阪急宝塚線\xa0/\xa0石橋駅\xa0徒歩1分\n'