判断爬取的文件数量是否完全

在爬取某大学论文网站的227篇文章时,实际下载到226篇。通过比较网页上的URL列表与下载后的文件列表,发现存在重复文章,导致数量不匹配。经过代码去重,问题定位为网站类别内有两篇相同论文,爬虫已正确处理避免重复下载。

描述:最近爬取了某大学的论文网站上面的论文,但是发现网页上数量是227篇,我下载下来只有226篇,所以写了此代码想找出来少了那一篇。

过程中,我先是判断了两个列表中是否存在不同的元素并输出,但是发现是完全相同的,接着我就想可能是网页中存在重复的元素,就判断了urll列表中是否自身包含重复元素。

结果:最后发现该网站类别下有两篇相同的文章,我的爬虫代码里有判断去重,所以只下载了226篇。

代码:

from lxml import etree
import requests
import os

if __name__ == '__main__':
    url="https://arxiv.org/list/stat/pastweek?show=227"
    res = requests.get(url)
    res.encoding="utf-8"
    mytree = etree.HTML(res.content)
    ul = mytree.xpath("//*[@id='dlpage']/dl/dt/span/a[2]/@href")

    #下面这段代码是从网站爬取论文的代理名城存入urll列表
    urll = []
    for url in ul:

        filenam = str(url)
        filename = filenam[5:]

        # print("第%s篇" %(i))
        # print(filename)
        urll.append(filename)
        # if 1809.08550 in urll:
        #     print("yes !!!")
        # else:
        #     print("buzai")
        # i= i+1
    print(urll)
    print(len(urll))

    #下面代码作用是从本地文件夹获取下载的所有文章名字并截取同上面相同的字符串存入列表
    dir = "E
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值