ArXiv 网页的HTML内容
(本人是天文专业的,以天体物理作为例子)(火狐浏览器)
ArXiv网址:https://arxiv.org/list/astro-ph/new
html = urlopen("https://arxiv.org/list/astro-ph/new")
HTML的导航树可以通过 点击鼠标右键-查看元素 如图:
ArXiv 网页的HTML内容ArXiv 网页的HTML内容
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2QvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1TPBRGdWhVYzZFWlZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DNzgjN0gDM5ADMxITM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
我们比较关心的是这一块内容:
html
——body
——div <divid="content">
——div <divid="dlpage">
——d1
——dt
——dt
可以通过BeautifulSoup查看里面的内容:
bsObj = BeautifulSoup(html, "lxml")
获取当前日期:
date = bsObj.find("h3")
print(dateline.get_text())
输出结果为:New submissions for Fri, 8 Dec 17
查看当天所有文章的ArXiv编号和提供的打开方式:
articleList = bsObj.findAll("span", {"class":"list-identifier"})
for article in articleList:
print(article.get_text())
查看当天所有文章的标题:
titleList = bsObj.findAll("div", {"class":"list-title mathjax"})
for title in titleList:
print(title.get_text())
获取文章的摘要:
findAll("p", {"class":"mathjax"})
采集所有文章的pdf下载地址:
for pdflink in bsObj.findAll("a", {"title":"Download PDF"}):
if "href" in pdflink.attrs:
print(pdflink.attrs['href'])
URL连接都以 /pdf/ 开头,这时需要在前面加上 https://arxiv.org/ 。
在使用之前建议阅读:https://arxiv.org/help/robots
无意中下载本网站上的所有网址将返回太字节的数据。 就带宽消耗而言,这对我们来说是非常实际的成本,而且对于我们数以万计的真实用户来说,我们的服务的响应性也是非常高的。
此服务器配置为监视活动并拒绝访问违反上述指南的网站。 访问被拒绝后(即403访问被拒绝HTTP响应),来自任何站点的持续快速请求将被解释为攻击; 我们会毫不犹豫地毫不犹豫地作出相应的回应。