描述:最近爬取了某大学的论文网站上面的论文,但是发现网页上数量是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