Pandas使用正则表达式,列表为lxm

2024-04-25 18:11:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图从一个网站刮所有的网址,满足一定的标准。我的代码如下:

  import pandas as pd
  from urllib.request import urlopen
  import lxml.html
  links = []
  connection = urlopen("http://www.open.ac.uk/courses/modules")
  dom =  lxml.html.fromstring(connection.read())
  for link in dom.xpath('//a/@href'): 
      links.append(link)

这是让我在一个列表中的网址。但是,我只想要以/[一些字母][3个数字]结尾的。我有下面的表达式,在www.regex101.com地址:

  \/[a-z]*[0-9][0-9][0-9]

理想情况下,我想修改刮,所以它只返回所需的信息。如何使用列表上的表达式进行筛选

我发现了一些能回答我问题的东西,但没有什么能和我的问题一样

我得到的数据的一个例子是

 /courses/modules/tm352
 /courses/modules/a332
 /courses/modules/ke322
 /courses/modules/e318
 /postgraduate
 #int-site
 http://www.open.ac.uk/contact/
 http://www2.open.ac.uk/tutors/help/who-to-contact
 http://www.open.ac.uk/about/employment/
 http://www.open.ac.uk/about/main/management/policies-and-
 statements/website-accessibility-open-university
 http://www.open.ac.uk/wales/cy

因此,前4行匹配我想要的,其余的不匹配


Tags: importmoduleshttphtmlwwwlinksopenconnection

热门问题