蟒蛇在网页上查找文件下载链接



我需要一个正则表达式,它将返回双引号之间的文本,该文本以指定的文本块开头,并以特定的文件扩展名结束(例如.txt)。 我正在使用urllib2来获取页面的html(html非常简单)。

基本上如果我有类似的东西

<tr>
  <td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td>
  <td><a href="Client-8.txt">new_Client-8.txt</a></td>
  <td align="right">27-Jun-2012 18:02  </td>
</tr>

它应该回到我身边

Client-8.txt

其中返回值包含在双引号内。 我知道文件名如何以"Client-"开头,文件扩展名".txt"。

正在使用r.search(regex,字符串),其中我输入的字符串是页面的html。 但我对正则表达式很臭。

谢谢!

不应为此任务使用正则表达式。使用BeautifulSoup编写脚本来处理HTML并找到所需的元素要容易得多。

在您的情况下,您应该搜索其href属性以 Client- 开头并以 .txt 结尾的所有<a>元素。这将为您提供所有文件的列表。

soup = BeautifulSoup('<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="Client-8.txt">new_Client-8.txt</a></td><td align="right">27-Jun-2012 18:02  </td>')
x=soup.findAll('a')
for i in x:
    if '.txt' in i['href']:
        print(i['href'])

最新更新