Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在每次运行时仅爬网更新的部件_Python_Web Crawler - Fatal编程技术网

Python 如何在每次运行时仅爬网更新的部件

Python 如何在每次运行时仅爬网更新的部件,python,web-crawler,Python,Web Crawler,我想抓取可以更新的数据。当我想安排爬虫程序在每次运行时只爬网更新的部分时,我该如何处理这个问题?我正在使用beautifulsoup.来隔离新帖子,您需要找到某种主键,保证每个结果都是唯一的。这可能是url、内部id等。一旦找到唯一值,就需要将其存储在会话之间。对于快速查找的内容,我将使用集合。下面是一个基本示例,它使用集合和内置pickle模块维护您在会话之间看到的结果 我们将假定您已在列表元素中隔离了结果,并且每个元素都是一个具有唯一href值的标记的BeautifulSoup对象 导入操作

我想抓取可以更新的数据。当我想安排爬虫程序在每次运行时只爬网更新的部分时,我该如何处理这个问题?我正在使用beautifulsoup.

来隔离新帖子,您需要找到某种主键,保证每个结果都是唯一的。这可能是url、内部id等。一旦找到唯一值,就需要将其存储在会话之间。对于快速查找的内容,我将使用集合。下面是一个基本示例,它使用集合和内置pickle模块维护您在会话之间看到的结果

我们将假定您已在列表
元素中隔离了结果,并且每个元素都是一个具有唯一
href
值的
标记的BeautifulSoup对象

导入操作系统
进口泡菜
如果不存在os.path.exists('seen.pickle'):#如果seen文件不存在,则创建它。
以open('seen.pickle','wb')作为文件:
pickle.dump(set(),文件)
使用open('seen.pickle','rb')作为文件:#加载seen文件以便我们可以引用它。
seen=pickle.load(文件)
对于元素中的元素:
如果未看到中的元素['href']:
#您自己的代码在这里
seen.add(element['href'])#将其添加到seen中,以便不再解析它
使用open('seen.pickle','wb')作为文件:#保存所看到的文件。
pickle.dump(已看到,文件)

要仅隔离新帖子,您需要找到某种主键,保证每个结果都是唯一的。这可能是url、内部id等。一旦找到唯一值,就需要将其存储在会话之间。对于快速查找的内容,我将使用集合。下面是一个基本示例,它使用集合和内置pickle模块维护您在会话之间看到的结果

我们将假定您已在列表
元素中隔离了结果,并且每个元素都是一个具有唯一
href
值的
标记的BeautifulSoup对象

导入操作系统
进口泡菜
如果不存在os.path.exists('seen.pickle'):#如果seen文件不存在,则创建它。
以open('seen.pickle','wb')作为文件:
pickle.dump(set(),文件)
使用open('seen.pickle','rb')作为文件:#加载seen文件以便我们可以引用它。
seen=pickle.load(文件)
对于元素中的元素:
如果未看到中的元素['href']:
#您自己的代码在这里
seen.add(element['href'])#将其添加到seen中,以便不再解析它
使用open('seen.pickle','wb')作为文件:#保存所看到的文件。
pickle.dump(已看到,文件)
请参考有关SO的问题。请你也表现出你方的一些努力。请参考下面的问题。也请显示出你方的一些努力。