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

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

描述:最近爬取了某大学的论文网站上面的论文,但是发现网页上数量是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:
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,下面是一个网络爬虫爬取数据的简单流程图: ``` 开始 --> 发起HTTP请求 --> 获取响应数据 --> 解析数据 --> 存储数据 --> 循环执行 解析数据步骤中,可能包括以下子步骤: 解码网页内容 --> 提取数据 --> 清洗数据 --> 存储数据 存储数据步骤中,可能包括以下子步骤: 连接数据库/文件 --> 创建表/文件 --> 存储数据 --> 关闭连接 循环执行步骤中,可能包括以下子步骤: 检查是否还有待爬取的页面 --> 构造下一个请求 --> 发起下一个请求 结束 ``` 以上是一个基本的流程图,实际上网络爬虫的流程可能因具体应用而有所不同。例如,在爬取动态页面时,可能需要使用Selenium等工具来模拟用户行为,以便获取完整的数据。此外,在爬取大规模数据时,可能需要使用分布式爬虫等技术来提高效率和稳定性。 ### 回答2: 网络爬虫是一种自动获取网页内容并提取数据的程序。下面是一幅简化的网络爬虫爬取数据的流程图。 1. 初始化:首先,爬虫程序会初始化,设置初始URL和其他参数。 2. 发送请求:爬虫会向初始URL发送请求,获取网页内容。 3. 解析数据:爬虫会使用解析器对网页内容进行解析,提取所需数据。解析器可以是正则表达式、XPath、BeautifulSoup等。 4. 存储数据:解析后的数据会被存储到数据库、CSV文件或其他数据存储器中。 5. 判断是否继续爬取爬虫会根据设定的条件判断是否继续爬取其他链接。这些条件可以是深度限制、URL模式匹配等。 6. 获取新链接:如果继续爬取爬虫会从当前网页中提取新的链接。 7. 发送请求:爬虫会对新的链接发送请求,获取新的网页内容。 8. 解析数据:爬虫会对新的网页内容进行解析,提取所需数据。 9. 存储数据:解析后的数据会被存储到数据库、CSV文件或其他数据存储器中。 10. 重复步骤5-9:爬虫会不断重复步骤5到9,直到满足停止条件。 11. 结束:当满足停止条件时,爬虫程序会结束运行。 总之,网络爬虫的流程图包括初始化、发送请求、解析数据、存储数据、判断是否继续爬取、获取新链接、重复步骤5到9等关键步骤。通过这些步骤,网络爬虫可以自动化地爬取网页内容,并提取所需数据。 ### 回答3: 网络爬虫是一种程序,用于自动地从互联网上获取数据。它通过模拟人类的网页浏览行为,访问网页并提取所需的信息。以下是网络爬虫爬取数据的流程图: 1. 初始设置:首先,我们需要设置爬虫的起始点,也就是要爬取的网页地址。然后,我们要设定一些参数,如爬取的深度,爬取速度等。 2. 发送请求:爬虫开始发送HTTP请求,访问初始网页。爬虫会发送GET请求,向服务器请求页面的内容。 3. 获取响应:服务器接收到请求后,会返回一个响应。爬虫接收到响应后,会将其保存下来,以便进行后续处理。 4. 解析页面:爬虫使用解析器对页面进行解析,将页面转换为可操作的数据结构,如HTML、XML等。 5. 提取数据:爬虫根据预设的规则,从解析后的页面中提取所需的数据。这些规则可以是基于标签、XPath、正则表达式等。 6. 存储数据:爬虫将提取的数据存储到数据库或文件中,以备后续使用或分析。 7. 判断终止条件:爬虫根据预设的终止条件,判断是否终止爬取。终止条件可以是爬取的深度达到设定值,或者爬取的页面数量达到一定值等。 8. 爬取下一个链接:如果不满足终止条件,爬虫会从已爬取的页面中提取下一个要爬取的链接,并重复上述步骤,继续爬取下一个页面。 9. 结束爬取:当满足终止条件时,爬虫会结束爬取,并输出爬取的结果。 网络爬虫的流程图如上所示,它不断地请求网页并提取数据,形成一个循环的过程,直到满足终止条件为止。这样,我们就可以通过网络爬虫快速获取互联网上的大量数据了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值