Python 从一个论坛抓取数据
我是个新手。 我想从一个论坛抓取所有帖子,并更新这些新帖子。 我想弄清楚一些问题 1.如何确保爬虫不会两次抓取a帖子 2.如果有某种机制可以避免两次爬行帖子。即使我重新启动爬虫程序,这个机制也能工作吗 3.爬虫会自动爬网新帖子吗 4.我需要在这个项目中使用什么db/插件 下面是spider类的初始化Python 从一个论坛抓取数据,python,scrapy,web-crawler,Python,Scrapy,Web Crawler,我是个新手。 我想从一个论坛抓取所有帖子,并更新这些新帖子。 我想弄清楚一些问题 1.如何确保爬虫不会两次抓取a帖子 2.如果有某种机制可以避免两次爬行帖子。即使我重新启动爬虫程序,这个机制也能工作吗 3.爬虫会自动爬网新帖子吗 4.我需要在这个项目中使用什么db/插件 下面是spider类的初始化 name = "forum" allowed_domains = ["forum.com"] start_urls = ( 'http://s7.forum.com/
name = "forum"
allowed_domains = ["forum.com"]
start_urls = (
'http://s7.forum.com/posts.aspx',
)
rules = [
Rule(LinkExtractor(allow=('mid=', )), callback='parse_item'),
]
DUPEFILTER_CLASS = 'scraper.custom_filters.SeenURLFilter'
谢谢,但是如果我重新启动爬虫呢?RFPDupeFilter能否与DB一起过滤重复记录???@SiuChungChan我认为您应该在DB中查找记录,以查看它是否重复。这个过滤器不适合你。谢谢,但是让它成为通用的,每次只检查db中的记录是否更好?否则,我需要检查使用过滤器和数据库,只要我重新启动爬虫。还是使用RFPdupeFilter还有一些好处?@SiuChungChan我认为这取决于您的需求和实际环境。如果数据库中的数据不多,可以将所有数据读取到内存中,并与SeenURLFilter进行比较。如果数据库中的数据太多,每次都必须检查数据库中的记录。我认为找到一种有效的方法将URL存储在数据库中,并将所有URL读取出来进行比较是最好的解决方案。
DUPEFILTER_CLASS = 'scraper.custom_filters.SeenURLFilter'