[英]produce list of urls in python using regular expressions
我的目标是:提取此url中的所有成绩单,并清理它们以供我特殊使用。
我需要递归提取遵循模式的链接。 我是新手,无法制定适用的完整代码。
以下是一些有关URL外观的示例:
http://tvmegasite.net/transcripts/oltl/main/1998transcripts.shtml
http://tvmegasite.net/transcripts/oltl/older/2004/oltl-trans-01-20-04.htm
http://tvmegasite.net/transcripts/amc/main/2003transcripts.shtml
http://tvmegasite.net/transcripts/amc/older/2002/amc-trans-01-08-02.shtml
因此,所有内容都以http://tvmegasite.net/transcripts
开头,然后是显示缩写,然后是main或更旧的等等。
到目前为止,我已经尝试过:使用BeautifulSoup可以很容易地从特定页面获取url,但是我还没有弄清楚如何递归地进行操作。 我当时只是想使用Scrapy之类的抓取工具从tvmegasite.net/transcripts开始获取所有网址,然后使用re包搜索与该模式匹配的网址。 我仍然不确定如何将其变成完整的代码。 据我所知,这些可能是可以起作用的正则表达式:
http://tvmegasite.net/transcripts\w+\/main/\d+\w+\.shtml
http://tvmegasite.net/transcripts\w+\/older/\d+/\w+\-\w+\-\d+\-\d+\.shtml
如果使用Scrapy,则不需要正则表达式-或至少可以将它们限制为最小值。 例如,使用LxmlLinkExtractor
可以设置要遵循的URL( allow
)和在XPath分支中的restrict_xpaths
( LxmlLinkExtractor
)。
您可以在allow
限制中使用您的正则表达式(乍一看对我来说很好)–对于此站点,您不需要XPath限制。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.