天天看点

ArXiv 网页的HTML内容ArXiv 网页的HTML内容

ArXiv 网页的HTML内容

(本人是天文专业的,以天体物理作为例子)(火狐浏览器)

ArXiv网址:https://arxiv.org/list/astro-ph/new

html = urlopen("https://arxiv.org/list/astro-ph/new")
           

HTML的导航树可以通过 点击鼠标右键-查看元素 如图:

ArXiv 网页的HTML内容ArXiv 网页的HTML内容

我们比较关心的是这一块内容:

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响应),来自任何站点的持续快速请求将被解释为攻击; 我们会毫不犹豫地毫不犹豫地作出相应的回应。