我正在编写一个脚本,每天都会打开网页上的最新文件。到目前为止,我的代码如下:
from BeautifulSoup import BeautifulSoup
import urllib2
import re
html_page = urllib2.urlopen("http://www.baytown.org/city-hall/departments/police/daily-media-report")
soup = BeautifulSoup(html_page)
for link in soup.findAll('a', attrs={'href':
re.compile("^/home/showdocument")}):
print link.get('href')
我的输出是
/home/showdocument?id=7455
/home/showdocument?id=7379
/home/showdocument?id=7381
/home/showdocument?id=7385
/home/showdocument?id=7385
/home/showdocument?id=7401
/home/showdocument?id=7451
/home/showdocument?id=7453
我需要阅读此列表中的最新文件(最高ID#)并且我卡住了。如何找到编号最大的文件并阅读?
答案 0 :(得分:0)
我将所有ID号添加到列表中,然后对列表进行排序以获得最高的ID号。
代码:
import urllib2
from bs4 import BeautifulSoup
import re
pdfs = []
html_page = urllib2.urlopen("http://www.baytown.org/city-hall/departments/police/daily-media-report")
soup = BeautifulSoup(html_page, 'html.parser')
for link in soup.findAll('a', attrs={'href': re.compile("^/home/showdocument")}):
pdfs.append(str(link.get('href')).split('id=')[1])
latest = sorted(pdfs)[-1]
print "Latest PDF id = ", latest
输出:
Latest PDF id = 7455
答案 1 :(得分:0)
最新的PDF总是列表中的第一个:
latest = soup.findAll('a', attrs={'href': re.compile("^/home/showdocument")})[0]["href"].split('=')[1]
print (latest)
哪个输出7455