我是新来的正则表达式,并且正在编写Scrapy爬行程序来收集电子邮件地址。正则表达式在HTML中选择不同的电子邮件格式
我希望能够在抓取时选择不同格式的电子邮件。现在我只需找到任何带有@符号的东西 - 但想要变得更聪明一些。
如何选择使用以下格式的电子邮件?
- [email protected]
- 信息[在]例如[点] com
- 在example.com info信息在例如
- 信息科网
这里是我的目前有:
item['mail'] = hxs.select('//body//text()').re(r'[\w.-][email protected][\w.-]+')
很难为电子邮件地址编写正确的正则表达式。请参阅[使用正则表达式验证电子邮件地址](http://stackoverflow.com/q/201323/1281433)。获得更多格式,就像您要求的一样,会变得更加困难。由于人们通常会尝试像最近三次那样的格式来避免刮刀(尽管它不是特别有效),所以在这个问题上你可能遇到一些阻力。 – 2015-02-23 22:10:11
我知道,这就是为什么我需要帮助 - 这个领域非常新颖,我的研究和尝试迄今为止都没有成功。这就是为什么我需要有经验的人。 – 2015-02-23 22:12:37
关于上面的链接 - 我不是要验证电子邮件。我从来没有这样说过,我只是试图找到一个与页面上的内容匹配的模式并收集它们。 – 2015-02-23 22:14:01