需要使用Python 2.7每天从网站打开最新的PDF文件

时间:2017-09-26 04:12:38

标签: python html pdf beautifulsoup

我正在编写一个脚本,每天都会打开网页上的最新文件。到目前为止,我的代码如下:

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#)并且我卡住了。如何找到编号最大的文件并阅读?

2 个答案:

答案 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